Archive, export, and notarize macOS apps using xcodebuild and asc. Use when you need to prepare a macOS app for distribution outside the App Store with Developer ID signing and Apple notarization.
The asc-notarization skill is designed to streamline the process of preparing macOS applications for distribution outside the App Store. It leverages Xcode's build system alongside the Apple Services Command (asc) tool to automate the archiving, signing, and notarization of apps with Developer ID certificates. By following a defined workflow, this skill helps developers ensure their macOS apps meet Apple's security and notarization requirements, which are necessary for users to run the applications without security warnings. The skill simplifies the traditionally complex notarization process, reducing manual errors and ensuring compliance with Apple's Developer ID policies.
The skill provides capabilities for verifying the presence of a valid Developer ID Application certificate, fixing trust issues that may arise during signing, and validating the certificate chain. It allows developers to archive their projects using xcodebuild, export the app with Developer ID signing, package it into a ZIP for notarization, and submit it to Apple for notarization via the asc command. Users can choose to submit notarization requests asynchronously, wait for results synchronously, or configure custom polling intervals and timeouts. The skill also supports checking submission status, retrieving detailed logs for troubleshooting, listing previous submissions, and optionally stapling the notarization ticket to the app bundle after successful notarization.
This skill is particularly useful for macOS developers distributing apps outside the Mac App Store, especially those who want to maintain a smooth user experience with minimal security prompts. It is aimed at developers familiar with Xcode, command-line workflows, and Apple Developer ecosystem requirements. Typical use cases include preparing commercial or open-source macOS apps for direct distribution, continuous integration pipelines that automate app builds and notarization, and troubleshooting notarization issues efficiently.
You need Xcode installed with command line tools configured, authentication set up via 'asc auth login' or environment variables, a Developer ID Application certificate in your keychain, and a macOS Xcode project that builds successfully.
No, this skill is specifically for notarizing macOS apps for distribution outside the Mac App Store using Developer ID signing.
Use the command 'security find-identity -v -p codesigning | grep "Developer ID Application"' to ensure a valid Developer ID Application identity exists in your keychain.
Check for custom trust settings with 'security dump-trust-settings' and remove any overrides by exporting the certificate and removing it using 'security remove-trusted-cert'. Then verify the certificate chain is intact.
Yes, the skill supports submitting notarization requests with '--wait' for synchronous completion or configuring custom polling intervals and timeouts.
Quick Setup:
.claude/skills/