スポンサー登録
ブログ

初めてMacアプリを作る人向けに、署名と公証をわかりやすく説明します。

作者: Justinas Rolando、MacPipの開発者

結論

署名はアプリにあなたの名前を付け、変更されていないことを示します。公証はアプリをAppleの自動スキャンに送ります。ステープルは結果を添付するので、オフラインでも確認できます。この順番で行い、ビルドが確定したあと、最後に行います。

Xcodeからしかアプリを実行したことがない場合、リリースのこの部分は証明書の壁のように感じられるかもしれません。考え方は単純で、要素は3つだけです。Appleのドキュメントへのリンク付きの詳しい説明は、Macの公証とはをご覧ください。この記事は、開発者向けの要点版です。

3つの手順

Mac App Storeのみで販売する場合は、最後の2つは不要です。Appleがストアのアプリに署名し、そのドキュメントには、ストアの手順にも同等のセキュリティチェックがあると書かれています。

省略した場合に利用者に表示されるもの

利用者には警告が出ます。macOSは、アプリを確認できないと表示し、macOS Sequoia以降は、control-クリックでも通過できなくなりました。利用者はシステム設定に移動して「このまま開く」を選ぶ必要があります。その時点で諦める人もいますが、責めることはできません。「Appleは確認できませんでした」の意味では、利用者側から同じ警告を説明しており、一度読む価値があります。

半日を節約する順番

  1. ビルドを完成させてください。署名のあとに変更したものは、署名を壊します。
  2. まず、フレームワークやヘルパーなどの入れ子になったコードに署名し、それからアプリ本体に署名します。公証には両方が必要なので、Hardened Runtimeと安全なタイムスタンプを使ってください。
  3. 配布方法がDMGなら、それに入れて、DMG自体も署名してください。
  4. notarytoolで提出します。Appleによると、スキャンは通常1時間未満で終わります。
  5. 成功した場合でも、ログを読んでください。
  6. staplerでステープルします。

自分のビルドを確認する

spctl -a -vv /Applications/YourApp.app
xcrun stapler validate /Applications/YourApp.app

最初のものにはsource=Notarized Developer IDが、2つ目には成功メッセージが出るのが理想です。得られたものは何でも公証の解説に貼り付けてください。各行の意味を説明するか、わからないものがあればそう伝えます。テキストはブラウザ内で読まれ、どこにも送信されません。

次に、最も多くの問題を見つけるテストを行います。別のMacかユーザーアカウントで、ブラウザから自分のビルドをダウンロードして開いてください。ローンチチェックリストには、これと他の手順が順番に載っています。

公証済みの意味ではないこと

良い、プライベート、安全という意味ではありません。Appleの自動スキャンが、既知の問題を見つけなかったという意味です。サイトで、それ以上のことを約束しないよう注意してください。Macアプリが安全かどうかを見分ける方法では、利用者の視点から、各チェックが何を証明でき、何を証明できないかを説明しています。

MacPipはこれをどう扱うか

MacPipでは、署名と公証されたダウンロードファイルをお願いしています。オープンソースのアプリは、公証がなくても歓迎され、そのレポートにもそう書かれます。青いチェックは、表示された日付に担当者がアプリをチェックしたことを意味します。署名と公証は、ダウンロードしたコピーで確認できた場合にだけ、レポートに表示されます。安全性の保証ではなく、それは当サイトのルールにも書いてあります。ビルドの準備ができたら、無料で掲載できます。

Real listings to look at

Check reports on MacPip say what was confirmed on a real copy. These two developer-minded listings are good ones to open and read.

出典

続けて読む

アプリを登録開発者向けの無料ツール