【Sparkle】EdDSA署名鍵を生成して公開鍵をInfo.plistに設定するSparkleは、配布する更新のアーカイブをEdDSA(Ed25519)の署名で検証する。アプリは、Info.plistに埋め込まれた公開鍵で署名を検証し、一致した更新だけをインストールする。署名に使う鍵のペアは、Sparkleに含まれるgenerate_keysで生成する。MAC 2026-10-04 2026-10-04
【Sparkle】SwiftPMで導入してアプリに更新チェックを組み込むMac App Store外で配布するmacOSアプリに、自動アップデートの機能を組み込むときは、Sparkleを使う。SparkleはmacOS向けのアップデート用フレームワークで、更新の確認、ダウンロード、署名の検証、インストールまでを担当する。MAC 2026-10-04 2026-10-04
【spctl】Gatekeeperの判定を配布前に確認する公証したアプリが、配布先のMacで起動できるかどうかは、Gatekeeperの判定で決まる。spctl --assessを使うと、Gatekeeperの判定を、配布前に手元のMacで確認できる。MAC 2026-10-04 2026-10-04
【notarytool】公証に失敗した理由をログから調べる公証の結果がInvalidになったときは、notarytool logで失敗の理由を調べる。提出のIDを指定すると、公証のログがJSONで表示される。ログのissuesに、問題のあるファイルとエラーメッセージが記録されている。MAC 2026-10-04 2026-10-04
【notarytool】アプリを公証してstaple(公証チケットを添付)するmacOSアプリをMac App Store外で配布するときは、Appleに提出して公証(notarization)を受ける。公証に通ったアプリには、Appleが公証チケットを発行する。このチケットをアプリに添付する操作がstaple(ステープル)である。チケットを添付したアプリは、オフラインの環境でも、Gatekeeperが公証済みであると判断できる。MAC 2026-10-04 2026-10-04
【notarytool】App用パスワードで公証用の認証情報を保存するnotarytoolでアプリの公証を依頼するたび、Apple IDとパスワードを入力するのは面倒である。notarytool store-credentialsで認証情報をキーチェーンに保存すると、以降は--keychain-profileでプロファイル名を指定するだけで提出できる。MAC 2026-10-04 2026-10-04
【codesign】署名の内容と整合性を検証するアプリの署名が正しく付いているか、公証の前に確認したいときは、codesignの2つのオプションを使う。署名の内容は-dvで表示し、署名の整合性は--verifyで検証する。MAC 2026-10-04 2026-10-04
【xcodebuild】Developer ID署名でアーカイブしてエクスポートするMac App Store外で配布するmacOSアプリは、アーカイブを作ってからDeveloper ID署名のアプリとしてエクスポートする。xcodebuildでは、archiveと-exportArchiveの2段階で実行する。MAC 2026-10-04 2026-10-04
【Xcode】公証のためにHardened Runtimeを有効にする公証(notarization)に提出するmacOSアプリは、Hardened Runtimeを有効にして署名する必要がある。無効のまま提出すると、公証の結果がInvalidになる。MAC 2026-10-04 2026-10-04
【Developer ID】アプリ配布用の署名証明書を作成するMac App Store以外でmacOSアプリを配布するときは、Developer ID Application証明書でアプリに署名する。公証(notarization)に提出するアプリにも、この証明書による署名が必要である。MAC 2026-10-04 2026-10-04