Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

Shipping a Mac app without a $99 Apple Developer account

说明与用途

Kopi 使用自签名证书避免每年支付99美元的Apple开发者计划费用,保持权限跨更新,但首次启动时仍需一次Gatekeeper确认。

问题

How to ship a macOS app without paying the $99 annual Apple Developer Program fee while maintaining a good user experience.

结果

Kopi can be distributed to macOS users without paying Apple’s $99 fee, preserving permission continuity across updates while accepting a single Gatekeeper warning on first launch.

工作流

  • Create a self‑signed code‑signing certificate and store its private key in the repo’s secrets.
  • Sign every release with that certificate, producing a stable designated requirement based on bundle identifier and certificate leaf.
  • Import the certificate into the keychain during the release workflow so Tauri can sign the app.
  • Provide users with an install guide, a .dmg background, and a one‑line terminal script to bypass quarantine.
  • After the first launch, users grant permissions once; subsequent updates are signed with the same certificate and install without quarantine, so Gatekeeper does not block them.
  • Users can disable automatic updates in the app settings if desired.

证据

On macOS, an app downloaded from the internet opens without a Gatekeeper warning only if it is signed with an Apple Developer ID certificate and notarized by Apple.

来源

For an ad‑hoc signature, that requirement includes the build's own hash. Every new build has a new hash, so every new build looks like a different app to macOS.

来源

I created a self‑signed code‑signing certificate and stored it in the repository's secrets. Every release is signed with it.

来源

The workaround is to have the release workflow import the certificate into the keychain itself, then let the build sign with that identity.

来源

The script doesn't quarantine the app, so Gatekeeper doesn't block the first launch.

来源

  • 记录日期: 2026-10-21T20:11:18.315Z