Building the Mac client

Use Xcode 11+ and OS 10.15+.

The main instructions are here:

To notarize the installer and uninstaller

Make sure you've signed the relevant Apple docs: See

Create an app-specific password at

$ xcrun altool --notarize-app -t osx -f {path to} --primary-bundle-id edu.berkeley.boinc.Installer -u {userID} -p {password}

where userId is your Apple ID and password is the app-specific password.

Note: I (Charlie) have only one development "team" under my Apple Developer account, but U.C. Berkeley may have several. If so, you may need to add an extra argument to the altool command line for notarization:

--asc-provider <ProviderShortname>

This is explained about 1/3 of the way down on this web page: <>

After a few minutes, check whether the notarize-app request succeeded:

$ xcrun altool --notarization-info {UUID from last step} -u {userID} -p {password}

If the notarize-app request succeeded, attach tickets to top level applications:

$ xcrun stapler staple {path to "...macOSX_x86_64/BOINC"}
$ xcrun stapler staple {path to "...macOSX_x86_64/extras/Uninstall"}

Delete or rename the original}

Run this ditto command again to create a new containing the updated (notarized) BOINC and Uninstall

$ ditto -ck --sequesterRsrc --keepParent boinc_x.y.z_macOSX_x86_64

replacing x.y.z with the current version number.

For more information:

$ xcrun altool --help
$ man stapler
Last modified 10 months ago Last modified on Apr 2, 2020, 12:13:03 AM