アルファサード株式会社 代表取締役 野田 純生のブログ


macOS(OS X)アプリのコードサイン


公開日 : 2016-09-27 15:25:52


1年半ぶりくらいなので、結構忘れている。メモ大切。

Apple Developer サイト

  1. キーチェーンアクセス.appを起動 > キーチェーンアクセスメニュー > 証明書アシスタント > 認証局に証明書を要求 (証明書は「ディスクに保存」)
  2. Apple の Developerサイトから「Account」へ進む
  3. 「Certificates, Identifiers & Profiles」(真ん中のアイコン) へ進む
  4. 「Mac App Distribution」 を選択
  5. 1.で作成したファイルをアップロードすると証明書が生成されるので、ダウンロードして保存
  6. 続いてMac Installer Distribution を選択し、5.を繰り返す
  7. ダウンロードした証明書を開いてキーチェーンアクセスに登録する
  8. キーチェーンアクセスの画面で名前を確認しておく(例「3rd Party Mac Developer Installer: Alfasado Inc. (XXXXXXXXXX)」「3rd Party Mac Developer Installer: Alfasado Inc. (XXXXXXXXXX)」) 前者はアプリに、後者はインストールパッケージに付与するもの

証明書の種類を選択

productname.entitlementsファイル(名前はなんでも良い)を用意する。最低限「com.apple.security.app-sandbox」に「true」の指定が必要。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>com.apple.security.app-sandbox</key>
    <true/>
</dict>
</plist>

ターミナルでcodesignコマンドでアプリに署名を付け、productbuildコマンドでインストールパッケージに署名を付ける。

sudo codesign -f -v -s "3rd Party Mac Developer Application: Alfasado Inc. (XXXXXXXXXX)" --entitlement /path/to/productname.entitlements "/Applications/ProductName.app"
sudo productbuild --component /Applications/ProductName.app --sign "3rd Party Mac Developer Installer: Alfasado Inc. (XXXXXXXXXX)" --product "/Applications/ProductName.app/Contents/info.plist" ProductName.pkg

最後にApplication LoaderでAppleへの登録を行う。

カテゴリ


このブログを書いている人
野田純生の写真
野田 純生 (のだ すみお)

大阪府出身。ウェブアクセシビリティエバンジェリスト。 アルファサード株式会社の創業者であり、現役のプログラマ。経営理念は「テクノロジーによって顧客とパートナーに寄り添い、ウェブを良くする」。 プロフィール詳細へ