nextcloud-desktop/admin/osx/mac-crafter
Claudio Cambra 87a5b245fe Do a codesign of the app bundle itself as final step
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-11-21 13:18:20 +08:00
..
Sources Do a codesign of the app bundle itself as final step 2024-11-21 13:18:20 +08:00
.gitignore Add mac-crafter Package.resolved to gitignore 2024-08-06 11:05:16 +02:00
Package.swift Fix dependencies for mac-crafter 2024-07-08 15:41:45 +08:00
README.md Fix the list of steps order. 2024-10-08 14:35:01 +02:00

mac-crafter

A tool to easily build a fully-functional Nextcloud Desktop Client for macOS.

It will create the application bundle with the option to sign it, which is required by Apple when running and debugging the file provider module.

System requirements

  • Mac OS > 11
  • XCode
  • Python

Step by step usage

  1. Clone the desktop client in your mac OS
https://github.com/nextcloud/desktop.git
  1. Build the desktop client:
cd admin/osx/mac-crafter
swift run mac-crafter
  1. Sign the application bundle by adding the following parameter: -c <Development or developer codesigning certificate name> The whole command will look like this:
swift run mac-crafter -c "Apple Development: <certificate common name>"

Note

The resulting app bundle will be placed under the product folder in the mac-crafter folder.

Tip

Check Apple's oficial documentation about code signing.

Extra options

  • Build the file provider module with this option:
--build-file-provider-module
  • Disable the auto-updater:
--disable-autoupdater
  • Manually set the architecture you are building for:
--arch <arm64|x86_64>

How to build the app bundle for arm and intel

To achieve this we are using a Python script called make_universal.py which bundles together the arm64 and Intel builds into one universal app bundle. This script can be found under admin/osx. You can invoke it like so:

python admin/osx/make_universal.py <x86 build path> <arm64 build path> <final target path>