The Apple notary service requires submitted app bundles to be configured to use the hardened runtime libraries. This is configured at signing time, and supported by the signapple tool Bitcoin Core uses for reproduceable signed binaries. We simply need to pass “–hardened-runtime” when the signature is created. Once attached to the bundle, the resulting codesigned binary can be successfully submitted to the Apple binary notarization service by any Apple Developer.
This partially resolves #15774. The release maintainer, or any authorized Apple Developer, will need to run xcrun notarytool
to prevent gatekeeper warnings on macOS. Using xcrun staple
to generate a binary that doesn’t call home on first launch would be bonus, but at least this would massively improve the user experience.