内容へ移動
Cat Paw Software
ユーザ用ツール
ログイン
サイト用ツール
検索
ツール
文書の表示
以前のリビジョン
バックリンク
最近の変更
メディアマネージャー
サイトマップ
ログイン
>
最近の変更
メディアマネージャー
サイトマップ
トレース:
macos:codesign
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
<markdown> # sign & notarize ここでは[electron](../electron)で作成した自作の野良アプリにコード署名・公証を行う手順を記述する。署名と公証がなくてもビルドしたマシンでは問題なく起動できるが、他のMacで起動するのに必要になる。 ## 前提 - Macを所有していること - Apple Developer Program(有料)に加入しており、自分がAccount Holderであること ## 署名用の証明書を準備 1. xcodeを起動して、settings... を選択 2. Accountsを選択、左下の+をクリックして Apple IDを追加 3. Teamを選択(Roleがadminのものを選択)し、Manage Certificate... をクリック 4. 左下の + から `Developer ID Application`を選択するとコード署名用の証明書が作成され、keychainに追加される Account HolderでAdminロールのTeamを選択しないと`Developer ID Application`が出てこないかも・・・ ## app-specific passwords(App用パスワード)の取得 1. Apple IDサイトにログイン (https://appleid.apple.com/account/manage) 2. 「サインインとセキュリティ」を選択 3. 「アプリ用パスワード」を選択 4. アプリ名を入力して「作成」する Apple Developerのサイトではなく、非開発者向けのApple IDサイトで取得するので間違わないように ## Team IDを確認 1. Apple Developerにログイン(https://developer.apple.com/account) 2. 「メンバーシップの詳細」に移動 3. チームIDを確認 ## ビルドと署名、公証を行う electron forge, electron builderなどのツールがあるが、ここでは最もシンプルなelectron packagerを使う electron-packagerとdotenvをインストール ``` npm install --save-dev @electron/packager dotenv ``` build.jsを作成 ```javascript const packager = require('@electron/packager'); const dotenv = require('dotenv'); dotenv.config(); packager({ out: 'dist', dir: '.', overwrite: true, executableName: 'MyApp', appBundleId: process.env.APP_BUNDLE_ID, platform: 'darwin', arch: 'arm64', osxSign: {}, osxNotarize: { appleId: process.env.APPLE_ID, appleIdPassword: process.env.APPLE_ID_PASSWORD, teamId: process.env.APPLE_TEAM_ID, } }); ``` .envファイルを作成(これをgitにコミットしないように) ``` APP_BUNDLE_ID='バンドルID、一般的にはドメイン逆順+アプリ名、例 moe.nullpon.MyAppName' APPLE_ID='自分のApple ID' APPLE_ID_PASSWORD='App用パスワード (Apple IDのパスワードではない)' APPLE_TEAM_ID='チームID' ``` 実行 ``` node build.js ``` これでビルド、署名、公証まで行われる。 packagerは内部でcodesignコマンドを呼んでいるようで、コマンドが証明書にアクセスする時にログインパスワードを入力する必要がある。これは1度ではなく何回も発生するので、常に許可をしてしまった方がいいかも 署名の確認 ``` codesign -dvvv MyApp.app ``` 公証の確認(以下のコマンドでacceptedと出ればOK) ``` spctl -avvv MyApp.app ``` </markdown>
macos/codesign.txt
· 最終更新:
2025/04/20 06:19
by
nullpon
ページ用ツール
文書の表示
以前のリビジョン
バックリンク
文書の先頭へ