Macアプリケーションの配信

Apple Developer Programを利用すると、世界中の何百万人ものユーザーにアプリケーションを簡単に配信することができます。ここでは、Mac App Storeでのアプリケーション配信の準備をする方法と、 Mac App Store以外で配信するアプリケーションにDeveloper IDを使用して署名する方法について説明します。

Mac App Store

Mac App Storeでは、アプリケーションの検索、購入、ダウンロードをとても簡単に行うことができます。アプリケーションに様々な機能を統合したり、アップデートをユーザーにシームレスに提供したりできます。ホスティング料金は不要で、Appleが世界各地の支払い処理に対応します。Mac App Storeは150を超える国々で利用され40言語に対応しているため、アプリケーションを何百万人ものユーザーに向けて公開できます。アプリケーションをMac App Storeに提出する準備を行う際は、以下の点に注意してください。

ガイドラインに従う

Appleでは、Mac App Storeに提出されたすべてのアプリケーションを審査し、これらが信頼できること、想定どおり動作すること、不快な内容を含んでいないことを確認します。またアプリケーションが、重要な技術、コンテンツ、設計基準を満たしていることを確認します。ガイドラインを読み、App Reviewを受ける準備が整っていることを確認してください。

アプリケーションへの機能の統合

Mac App Storeでアプリケーションを配信する際は、高度な機能をアプリケーションに統合することができます。アプリケーションで、データをiCloudに保存できるようにしたり、プレミアムコンテンツ、バーチャル商品、定期購読をApp 内課金で提供したりできます。また、Game Centerを使用して、ゲームを一層楽しくプレイできるようにしたり、プッシュ通知を使用して、ユーザーにタイムリーな関連内容を知らせたりすることができます。

アプリケーションのサンドボックス化

悪意のあるコードによってアプリケーションが不正に操作された場合でも、サンドボックス化することでユーザーデータを保護することができます。サンドボックス化により、アプリケーションが必要なデータにアクセスしながら、他のシステムリソースやユーザーデータへのアクセスを制限することができるようになります。Mac App Storeに送信されるすべてのアプリケーションは、サンドボックス化する必要があります。サンドボックス化の主な概念と利点、macOSのApp Sandbox機能、アプリケーションのサンドボックス化の詳細については、「App Store審査ガイドライン」をご覧ください。

アプリケーションアイコンをRetinaディスプレイに最適化しましょう。

新しい高解像度Retinaディスプレイ用のアプリケーションアイコンを必ず送信してください。新規アプリケーションを提出する場合は、1024x1024ピクセル以上の大きなアプリケーションアイコンをバイナリバンドルに含める必要があります。詳細については、「macOS Human Interface Guidelines」で、アイコンのデザインに関するガイドラインをご覧ください。

アプリケーションと情報の提出

App Store Connectは、アプリケーションのMac App Storeへの提出から管理までを一連で行うためのウェブベースのツールです。アプリケーションを配信するには、「Agreements、Tax、Banking(契約/税金/銀行)」モジュールで、税金情報と銀行情報を設定します。アプリケーションを審査に提出する前に、メタデータ、価格設定、キーワード、アイコン、スクリーンショットなどの情報を提供する必要があります。

Mac App Store以外の場所

ユーザーがMac用ソフトウェアを入手するには、Mac App Storeが最も安全な場所ですが、Appleでは、ユーザーが他の場所からアプリケーションをダウンロードする場合でもユーザーを保護したいと考えています。Mac App Store以外の場所でアプリケーションを配信する場合は、ユーザーが安全にアプリケーションをインストールし実行できることを確実にしてください。アプリケーションの配信準備として、必ず以下を行ってください。

アプリケーションのサンドボックス化(推奨)

悪意のあるコードによってアプリケーションが不正に操作された場合でも、サンドボックス化することでユーザーデータを保護することができます。サンドボックス化により、アプリケーションが必要なデータにアクセスしながら、他のシステムリソースやユーザーデータへのアクセスを制限することができるようになります。Mac App Store以外でアプリケーションを配信する場合、サンドボックス化は必須ではありませんが、安定性とセキュリティを向上させるためにサンドボックス化することをお勧めします。以下では、サンドボックス化の詳細とアプリケーションをサンドボックス化する方法について説明します。

アプリケーションへの機能の統合

Developer IDを使用して署名したアプリケーションを配信する際は、CloudKitやプッシュ通知などの高度な機能をアプリケーションに統合することができます。CloudKitは、iOS、macOSとCloudKit JSを使用するウェブの間でアプリケーションを相互に接続し、最新の状態に保ちます。プッシュ通知を使用することで、ユーザーにタイムリーな関連内容を知らせることができます。

アプリケーションとGatekeeper用インストーラパッケージに署名する

Gatekeeperは、macOSで利用できるセキュリティ機能です。この機能によって、ユーザーはMacにインストールできるアプリケーションを制御できます。GatekeeperはDeveloper IDコードの署名証明書を使用して、ユーザーがダウンロードするアプリケーションのIDと整合性を検証します。Developer IDを使用してアプリケーションとインストーラパッケージに署名する方法については、こちらを参照してください。

機能と要件

2018年1月以降にMac App Storeで提出する新規アプリケーションは、64ビットに対応したものである必要があります。また2018年6月以降は、Mac用アプリケーションの更新版や既存のアプリケーションも64ビットに対応したものにする必要があります。Mac App Store以外でアプリケーションを配信する場合、対象のアプリケーションがmacOSの今後のバージョンでも確実に実行できるように、64ビットのバイナリを配信することを強く推奨します。32ビットアプリケーションに完全対応するmacOSは、macOS High Sierraで最後となります。詳細については、「64-Bit Transition Guide(英語)」を参照してください。

機能と必要条件

Mac App Store Mac App Store以外の場所
アプリケーション配信 Appleによるホスト デベロッパによる管理
(Developer IDを使用)
ソフトウェアアップデート Appleによるホスト デベロッパによる管理
世界各地に対応した支払い処理 Appleによる管理 デベロッパによる管理
一括購入と教育機関向け価格 Appleによる管理 デベロッパによる管理
アプリケーション用の高度な機能(iCloudストレージおよびプッシュ通知) 利用可 利用可
App Storeのサービス(App 内課金およびGame Center) 利用可 利用不可
アプリケーションのサンドボックス化 必須 推奨