初めてMacアプリを作る人向けに、署名と公証をわかりやすく説明します。
作者: Justinas Rolando、MacPipの開発者
署名はアプリにあなたの名前を付け、変更されていないことを示します。公証はアプリをAppleの自動スキャンに送ります。ステープルは結果を添付するので、オフラインでも確認できます。この順番で行い、ビルドが確定したあと、最後に行います。
Xcodeからしかアプリを実行したことがない場合、リリースのこの部分は証明書の壁のように感じられるかもしれません。考え方は単純で、要素は3つだけです。Appleのドキュメントへのリンク付きの詳しい説明は、Macの公証とはをご覧ください。この記事は、開発者向けの要点版です。
3つの手順
- 署名は、アプリに付けるあなたの名前のようなものです。Appleが発行するDeveloper ID証明書で作成者がわかり、署名によって、それ以降何も変わっていないことが示されます。その証明書を得るには、Apple Developer Programへの登録が必要で、年額は$99です。
- 公証は自動スキャンです。署名済みのアプリをアップロードすると、Appleのサービスが悪意のあるコンテンツと署名の問題を探します。問題がなければ、チケットを発行します。Appleの人がアプリを使うわけではなく、App Reviewでもありません。
- ステープルは、そのチケットをファイルに添付するので、Macはオンラインにつながなくても確認できます。
Mac App Storeのみで販売する場合は、最後の2つは不要です。Appleがストアのアプリに署名し、そのドキュメントには、ストアの手順にも同等のセキュリティチェックがあると書かれています。
省略した場合に利用者に表示されるもの
利用者には警告が出ます。macOSは、アプリを確認できないと表示し、macOS Sequoia以降は、control-クリックでも通過できなくなりました。利用者はシステム設定に移動して「このまま開く」を選ぶ必要があります。その時点で諦める人もいますが、責めることはできません。「Appleは確認できませんでした」の意味では、利用者側から同じ警告を説明しており、一度読む価値があります。
半日を節約する順番
- ビルドを完成させてください。署名のあとに変更したものは、署名を壊します。
- まず、フレームワークやヘルパーなどの入れ子になったコードに署名し、それからアプリ本体に署名します。公証には両方が必要なので、Hardened Runtimeと安全なタイムスタンプを使ってください。
- 配布方法がDMGなら、それに入れて、DMG自体も署名してください。
notarytoolで提出します。Appleによると、スキャンは通常1時間未満で終わります。- 成功した場合でも、ログを読んでください。
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.
ShediA Mac cleaner for developers that explains every item before it goes.Cleanup and Maintenance, checked October 30, 2026SpaceWiseSpaceWise safely cleans developer disk clutter like node_modules and Docker caches.Developer Tools, checked October 30, 2026
出典
- Apple Developer: 配布前に macOS ソフトウェアを公証する
- Apple Developer: Developer ID で Mac ソフトウェアに署名する
- Apple Developer News: macOS Sequoiaの実行時保護の更新
- MacPipガイド: Macの公証とは?
続けて読む
- Macアプリのローンチ方法: 1ページに収まるチェックリストMacアプリのローンチ日の前、当日、後にすべきこと: 署名、ページ、ディレクトリ、Product Hunt、Show HN、そして計測すべきこと。
- Macアプリが何をするかを伝える一行説明の書き方Macアプリの名前の下に置く一行を、わかりやすく書く方法です。何をするアプリかを書き、大げさな表現を削り、アプリを見たことがない人に試してもらいます。
- dofollowリンクの本当の価値を、リンクを提供するサイトの立場から正直に書いています。dofollowの意味、Googleがリンクについて述べていること、新しいディレクトリからのリンクが今は価値が低い理由、リンクを買う代わりにすべきこと。