I'm working on packaging a macOS app with Beeware and attempting to use the --adhoc-sign option for local code signing, as outlined in the Beeware documentation. This step is essential for testing the app on my local machine before distribution. However, during the packaging process, I encounter an error related to code signing that prevents the completion of the process.
Here's the command I'm running and the error message I receive:
Help is very welcome!
(beeware-venv) tk@lanhost171 workhard % briefcase package --adhoc-sign
[workhard] Signing app with ad-hoc identity...
Because you are signing with the ad-hoc identity, this app will run, but cannot be re-distributed.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100.0% • 00:05
Unable to code sign /Users/tk/Desktop/beeware-tutorial/workhard/build/workhard/macos/app/workhard.app.
Log saved to /Users/tk/Desktop/beeware-tutorial/workhard/logs/briefcase.2024_03_11-23_47_19.package.log
the log file is too long to post it here... but here some snippets:
Date/Time: 2024-03-11 23:23:25
Command line: /Users/tk/Desktop/beeware-tutorial/beeware-venv/bin/briefcase package --adhoc-sign
OS Release: Darwin 20.6.0
OS Version: Darwin Kernel Version 20.6.0: Wed Jun 23 00:26:31 PDT 2021; root:xnu-7195.141.2~5/RELEASE_X86_64
Architecture: x86_64
Platform: macOS-11.5.2-x86_64-i386-64bit
Python exe: /Users/tk/Desktop/beeware-tutorial/beeware-venv/bin/python
Python version: 3.8.2 (default, Apr 8 2021, 23:19:18) [Clang 12.0.5 (clang-1205.0.22.9)]
Virtual env: True
Conda env: False
Briefcase: 0.3.17
Target platform: macOS
Target format: app
Environment Variables:
HOME=/Users/tk
LANG=de_DE.UTF-8
LOGNAME=tk
OLDPWD=/Users/tk/Desktop/beeware-tutorial
PATH=/Users/tk/Desktop/beeware-tutorial/beeware-venv/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
PS1=(beeware-venv) %n@%m %1~ %#
PWD=/Users/tk/Desktop/beeware-tutorial/workhard
SHELL=/bin/zsh
SHLVL=1
SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.BEWhTNx5sV/Listeners
TERM=xterm-256color
TERM_PROGRAM=Apple_Terminal
TERM_PROGRAM_VERSION=440
TERM_SESSION_ID=7A603702-FB56-4C80-AD53-4D319FD51C12
TMPDIR=/var/folders/cm/df7c__mj1wsd4yg10tqfq84w0000gn/T/
USER=tk
VIRTUAL_ENV=/Users/tk/Desktop/beeware-tutorial/beeware-venv
XPC_FLAGS=0x0
XPC_SERVICE_NAME=0
_=/Users/tk/Desktop/beeware-tutorial/beeware-venv/bin/briefcase
__CFBundleIdentifier=com.apple.Terminal
__CF_USER_TEXT_ENCODING=0x1F5:0x0:0x3
__PYVENV_LAUNCHER__=/Users/tk/Desktop/beeware-tutorial/beeware-venv/bin/python
│ │ errors = '/Library/Developer/CommandLineTools/usr/bin/codesign_allocate: fatal error: file'+397
CalledProcessError: Command '['codesign', '/Users/tk/Desktop/beeware-tutorial/workhard/build/workhard/macos/app/workhard.app', '--sign', '-', '--force', '--entitlements', '/Users/tk/Desktop/beeware-tutorial/workhard/build/workhard/macos/app/Entitlements.plist']' returned non-zero exit status 1.
During handling of the above exception, another exception occurred:
/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/concurrent/futures/thread.py:57 in run │
│ │
│ 54 │ │ │ return ╭── locals ───╮ │
│ 55 │ │ │ self = None │ │
│ 56 │ │ try: ╰─────────────╯ │
│ ❱ 57 │ │ │ result = self.fn(*self.args, **self.kwargs) │
│ 58 │ │ except BaseException as exc: │
│ 59 │ │ │ self.future.set_exception(exc) │
│ 60 │ │ │ # Break a reference cycle with the exception 'exc' │
│ │
│ /Users/tk/Desktop/beeware-tutorial/beeware-venv/lib/python3.8/site-packages/briefcase/platforms/macOS/__init__.py:452 in sign_file │
│ │
│ 449 │ │ │ │ ) │
│ 450 │ │ │ │ return │
│ 451 │ │ │ else: │
│ ❱ 452 │ │ │ │ raise BriefcaseCommandError(f"Unable to code sign {path}.") │
│ 453 │ │
│ 454 │ def sign_app(self, app, identity): │
│ 455 │ │ """Sign an entire app with a specific identity.