Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【ITニュース解説】Publish your macOS App outside the App Store

2025年09月16日に「Dev.to」が公開したITニュース「Publish your macOS App outside the App Store」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

macOSアプリをApp Store以外で配布する方法を解説。App Storeのサンドボックス制限を回避するため、Xcodeでアプリをビルドし、DMGインストーラーを作成。その後、Appleの公証サービスを利用して配布する手順を、具体例を交えながら説明する。

出典: Publish your macOS App outside the App Store | Dev.to公開日:

ITニュース解説

macOS向けのアプリケーションを開発し、ユーザーに届ける方法はいくつかある。一般的なのはAppleが運営する公式のストア、App Storeを通じて配布する方法だ。しかし、この方法には特定の制約があり、開発者が別の選択肢を選ぶこともある。この記事では、App Storeを通さずにmacOSアプリケーションを配布する具体的な手順について解説する。

まず、なぜApp Store以外の配布方法を選ぶのか、その理由から見ていこう。記事の著者は、シンプルな画像変換アプリ「Picmal」を開発する中で、この問題に直面した。当初、App Storeでの配布を考えていたが、Appleの「サンドボックス」と呼ばれるセキュリティ機能が原因で、予期せぬ壁にぶつかったという。サンドボックスとは、アプリがシステム上の他の部分に影響を与えないよう、隔離された安全な環境で動作させるための仕組みだ。これにより、アプリが勝手にユーザーのファイルにアクセスしたり、悪意のある動作をしたりするのを防ぐ。しかし、Picmalのような画像変換アプリがユーザーの画像を保存しようとすると、サンドボックスの制限により、その都度「許可しますか?」といったダイアログが表示されてしまい、ユーザー体験を損ねてしまう結果になった。この問題を解決するためには、App Storeを通さずにアプリを配布するしか方法がなかったのだ。

Picmalの開発に至った背景にも触れておこう。著者は、日常的に画像を変換する際に、ウェブブラウザを開いてオンラインコンバーターを探し、画像をアップロードして処理を待ち、再度ダウンロードするという一連の作業に不便を感じていた。もっとシンプルで、高速に、そしてオフラインで使えるツールが欲しいという思いから、ネイティブアプリケーションの開発を決意した。これまでネイティブアプリをゼロから作った経験がなかったため、これも一つの挑戦だったが、最終的にはApp Storeを通さずにスムーズに配布する方法を見つけることができた。著者は「Gumroad」というサービスを利用して、アプリを直接販売・配布する方法を選んだ。

それでは、App Storeを通さずにmacOSアプリを配布する具体的な手順を見ていこう。

最初のステップは、開発環境であるXcodeでアプリをビルドし、配布用のファイルとしてエクスポートすることだ。アプリが完成し、リリース準備が整ったら、Xcodeのメニューから「Product」を選び、「Archive」を実行する。これにより、アプリのリリースビルドが作成される。次に、配布方法として「Direct distribution」(直接配布)を選択する。ビルドが「Ready for Distribution」(配布準備完了)の状態になったら、「Export」ボタンをクリックすると、アプリケーション本体のファイルである「.app」ファイルがエクスポートされる。

次に、ユーザーが簡単にアプリをインストールできるように、DMGインストーラを作成する。DMGファイルは、macOSでソフトウェアを配布する際によく使われるディスクイメージファイルで、WindowsでいうところのISOファイルや実行形式インストーラに似ている。記事では「create-dmg」というコマンドラインツールを使って、見た目も美しいDMGファイルを作成する方法を紹介している。このツールは、Homebrew(macOS用のパッケージマネージャ)を使って「brew install create-dmg」コマンドで簡単にインストールできる。インストール後、「create-dmg」コマンドに、作成するDMGファイルの名前やウィンドウの位置、サイズ、アプリのアイコン、ドロップリンク(アプリを「アプリケーション」フォルダにドラッグ&ドロップするためのショートカット)などのオプションを指定して実行する。これにより、ユーザーフレンドリーなDMGインストーラが完成する。

DMGインストーラが完成したら、次に行うべき最も重要なステップは、そのDMGファイルを「公証」(Notarization)することだ。公証とは、Appleが提供するセキュリティサービスの一つで、アプリが既知のマルウェアを含んでいないことをAppleが自動的にスキャンして確認するプロセスである。App Storeを通さずに配布されるアプリでも、この公証を受けていると、macOSのGatekeeper機能によって「開発元不明のアプリ」という警告が表示されにくくなり、ユーザーは安心してアプリをインストールできるようになる。公証されていないアプリは、セキュリティ設定によっては起動できない場合があり、ユーザーに不信感を与えてしまうため、このステップは非常に重要だ。

公証の手順は以下の通りだ。まず、公証ツール(notarytool)で使うための認証情報プロファイルを作成することをお勧めする。これにより、新しいバージョンを公証するたびにパスワードを覚えておく必要がなくなる。「xcrun notarytool store-credentials」コマンドを使い、Apple ID、チームID、そして「アプリ固有パスワード」を指定してプロファイルを作成する。ここで使うパスワードは、Apple IDの通常のパスワードではなく、Apple IDアカウントページで生成する特別なパスワードである点に注意が必要だ。

プロファイルを作成したら、そのプロファイルを使ってDMGファイルを公証のためにAppleに提出する。「xcrun notarytool submit YourApp.dmg --keychain-profile "your-app-profile" --wait」コマンドを実行すると、DMGファイルがAppleのサーバーにアップロードされ、スキャンが開始される。このプロセスには時間がかかる場合もあるが、「--wait」オプションを付けることで、処理が完了するまでコマンドが待機してくれる。

公証が完了したら、次に「ステープル」(staple)という作業を行う。「xcrun stapler staple YourApp.dmg」コマンドを実行することで、Appleから発行された公証チケットをDMGファイルに直接埋め込むことができる。これにより、インターネット接続がない環境でも、macOSがアプリの公証ステータスを即座に確認できるようになる。

最後に、公証とステープルが正しく行われたかを確認する。「spctl --assess --type open --context context:primary-signature -v YourApp.dmg」コマンドを実行し、ターミナルに「YourApp.dmg: accepted」「source=Notarized Developer ID」と表示されれば、すべてのプロセスが成功したことになる。このメッセージが表示されれば、アプリのDMGファイルはApp Storeを通さずに配布する準備が完了したことを意味する。あとは、Gumroadのようなプラットフォームにアップロードして、販売を開始するだけだ。

このように、App Storeを通さずにmacOSアプリケーションを配布するには、アプリのビルド、DMGインストーラの作成、そしてAppleによる公証という一連のセキュリティプロセスを経る必要がある。これらは一見複雑に見えるかもしれないが、それぞれのステップには明確な目的があり、ユーザーに安全でスムーズな体験を提供するために不可欠なものだ。システムエンジニアを目指す上で、このような配布の選択肢やセキュリティに関する知識は、将来のアプリ開発において非常に役立つだろう。

関連コンテンツ

関連IT用語