Macのスクリプトエディタでコード署名する方法

ここではスクリプトエディタで作ったスクリプト(アプリケーション)にApple Developer Programの証明書を用いてコード署名する方法を紹介する。

コード署名とは?

コード署名とは、そのアプリケーションの開発者がApple Developer Programの一員であり、かつAppleがその証明書を発行したことを保証する署名のことだ。

コード署名がないと例え自分で開発したものであってもSafariの機能拡張やスクリプトエディタで作成したスクリプトなど、シンプルなアプリケーションでさえ実行時にエラーが出るか、著しく制限が加わることがある。

なお、当たり前ではあるがコード署名を行うにはApple Developer Program(年額11,800円)に登録して証明書(Certificate)を取得する必要がある。

スクリプトエディタで作成したスクリプト(アプリケーション)にコード署名を行う手順

僕はApple Developer Programには登録しているが、ソフトウェア開発の深い知識はなく、あくまで簡単なSafari機能拡張・スクリプトの利用、及びベータソフトウェア入手を目的としている上、今年初めてApple Developer Programに登録した初心者である。

そのため下記の手順に誤謬や不正確な点があれば是非ご指摘頂きたい。

1. XcodeでApple IDでログインする

まずXcodeを起動し「Preferences」から「Account」のタブに移動する。

ログインがまだならApple Developer Programに登録しているApple IDでログインし、「Download Manual Profiles」をクリックしてプロファイルをダウンロードする。

2. DeveloperページからCertificate(証明書)をダウンロードする

続いてApple Developer Programの会員専用ページにアクセスする。

画像出典 Apple Developer Program

トップの「Certificates, Identifiers & Profiles」から証明書をダウンロードする。

3. キーチェーンで証明書を読み込む

続いてMacにデフォルトで存在する「キーチェーン」アプリを開く。

ファイルメニューから「読み込む」をクリックして先ほどダウンロードした証明書を読み込む。

証明書が読み込まれ、一覧に「Apple Development〜」の秘密鍵と証明書の二つが表示されればOKだ。

4. スクリプトエディタでコード署名入りで書き出して完了

続いてスクリプトエディタでアプリケーションを作成し(または既存のファイルをスクリプトエディタで開く)、ファイルメニューから「書き出す」をクリックする。

書き出しペインが表示されるので「コード署名」の欄で自分の署名を選択して保存する。

以上で完了だ。

なお、もし書き出し時にエラーが出る場合はキーチェーンアプリで証明書が二重に読み込まれていたりしないかチェックしてみよう。

正常に書き出しが完了したらアプリケーションが正常に起動するかテストしてみよう。

まとめ

スクリプトエディタにコード署名をする人は稀なせいか、国内に全く情報がなかったため、簡単にまとめてみた。

例えシンプルなスクリプトであってもApple Developer Programに登録しているならコード署名を行っておくと開発元の検証にまつわるエラーを回避できるため便利だ。