Help us understand the problem. What is going on with this article?

Command Line ToolのApple公証を行う

Command Line ToolのApple公証を行う

  • XcodeでCommand line toolを作っている場合、.appと同じ用にOrganizerから公証を行うことができません。
  • Terminalからコマンドを叩く必要がありますが、必要な設定があり困りポイントが多かったので、そこ辺のTipsを共有します。




  • 下2つが記事に載って無くて苦労したポイントなので共有します。

Time Stamp

  • Terminalからビルドする際はTime Stampが含まれないので、設定を行います。
  • Resolving Common Notarization Issues
    • > In this case, be sure to add a secure timestamp by adding the --timestamp flag to your OTHER_CODE_SIGN_FLAGS build setting

Avoid the Get-Task-Allow Entitlement

  • デバッグを行うためにセキュリティを緩めるフラグがデフォルトで立っています。
  • Terminalからビルドする場合はこのフラグが削除されないので、予め設定からフラグを落としておく必要があります
  • Resolving Common Notarization Issues
    • > set the CODE_SIGN_INJECT_BASE_ENTITLEMENTS build setting to NO before building your app for distribution



  • Auto Signingではなく、マニュアルで指定します。(Auto Signingだとうまく行かない?)
  • Developer ID Applicationを選択します。


hardened Runtimeを有効にする





  • 自分の場合クリーンがうまく行かなかったのでDerived Databuildを手動で削除した。
xcodebuild clean install
  • pkg作成
pkgbuild --root build/pkgroot \
           --identifier "com.example.hello" \
           --version "1.0" \
           --install-location "/" \
           --sign "Developer ID Application: xxx. (xxxxxxxxxx)" \
  • Appleの公証
xcrun altool --notarize-app \
             --primary-bundle-id "" \
             --username "" \
             --password "@keychain:AC_PASSWORD" \
             --file "build/hello-1.0.pkg"
  • 公証の状況確認(エラーが出たらここからログを確認できます)
xcrun altool --notarization-info "xxx-xxx-xxx-xxx-xxx" 
            -u "" 
            -p "@keychain:AC_PASSWORD"

再署名する際にHardened Runtime対応をする

sudo codesign --force --options runtime --deep-verify --verbose --sign "Developer ID Application: xxx. (xxxxxxxxxx)" 
macOS Engineer Objective-C / Swift / Python
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away