アプリケーションを配布するためのXcodeプロジェクトの設定

プロジェクト設定はいつでも編集できますが、その中には、開発時に必ず設定しなければならない事項と、ベータ版の配布時点では推奨にとどまり、ストアに登録する際に必須となる事項があります。

開発の際、アプリケーションにプロビジョニングやコード署名を施さないと、組み込んで実行することができないアプリケーションサービスがいくつかあります。バンドルIDやチームをプロジェクトに設定すると、Xcodeは自動的に開発者アカウントに接続し、必要な証明書、ID、プロファイルを生成できるようになります。この情報は、プロジェクトエディタで事前に入力しても、アプリケーションサービスを追加し、アプリケーションを起動する時点で、必要に応じて入力しても構いません。

アプリケーションをテスト用に配布し、あるいはストアに登録するためには、必要な情報をすべて入力しておかなければなりません。たとえば、アプリケーションのアイコンがないと、iTunes Connectの検証テストに合格することができません。

アプリケーションをiTunes Connectにアップロードする前に、ビルド設定を確認し、Macアプリケーションの場合は「Copyright」キーを設定してください。

Xcodeプロジェクトの作成時にプロパティを設定する

Xcodeプロジェクトの作成は、アシスタント機能により表示される指示に従って進めてください。まず、プロジェクトに適用するテンプレートを選択します。適切なテンプレートを使えば、開発作業が迅速に進みます。アシスタント機能の指示に従い、アプリケーションに関する情報を入力していきます。その能力を決めるとともに、顧客に配布するために必要な情報です。プロジェクト作成時に決まっていない事項は、後で設定しても構いません。Apple Developer Programの会員の場合、Xcodeプロジェクトで設定するデータの中には、iTunes Connectに入力するデータと似ているものもありますが、バンドルID以外は、一致していなくてもアプリケーションをiTunes Connectにアップロードできます。

iOSアプリケーションの場合、テンプレートをもとにXcodeプロジェクトを作成しようとすると、次のようなダイアログが現れます。

../Art/3_xcodeassistant_2x.png

Product Name」はアプリケーション名で、顧客に対してはこの名前が表示されることになります。後でiTunes Connectに入力するアプリケーション名とおおむね一致していなければなりません。最も重要なのは、ストアに表示されているアプリケーション名やアイコンが、デバイスにインストールすると現れるプロジェクト名やアイコンと対応していることを、ユーザーが即座に認識できることです。アプリケーションをインストールすると、Springboardにもこの名前が現れます。2文字以上255バイト以下で指定してください(アプリケーション名のつけ方に関するガイドラインが、『iTunes Connectデベロッパガイド』の「ベストプラクティス」に載っています)。

Organization Name」はXcodeプロジェクトの属性で、プロジェクトフォルダの各所、たとえばソースファイルやヘッダファイルの著作権表示に現れます。後でiTunes Connectに入力する組織名と同じでなくても構いません。

ここに入力した「Product Name」と「Organization Identifier」を逆DNS(逆ドメイン名サービス)方式で連結したものが、デフォルトのバンドルIDになります。バンドルIDにはアプリケーションを一意に特定する役割があるので、「Organization Identifier」も一意的な文字列にすることが大切です。

iOSアプリケーションであれば、動作するデバイスの種類を、「Devices」ポップアップメニューから選択します。Macアプリケーションの場合はこのメニューから「Mac App Store」というカテゴリを選択してください。

Xcodeテンプレートに設定されている他の値は、アプリケーションをビルドしてローカルに実行するだけであればそのままで構いませんが、特にバンドルIDのように、後で見直すことになるものもあります。さらに、ストアに関するプロパティは、アシスタント機能の対象外です。登録するまでに、基本的なストア設定を済ませておいてください。実際にはテスト用に配布する時点で済ませておくとよいでしょう。

アプリケーションを公開すると、こういったメタデータのいくつかは変更できなくなるので、慎重に設定してください。ある状態になったとき、iTunes Connectでロックされる(変更できなくなる)プロパティについては、『iTunes Connectデベロッパガイド』の「iTunes Connectアプリケーションのプロパティ」を参照してください。

プロジェクトの設定を始める前に

この章で説明する操作はすべて、ターゲットに対応するプロジェクトエディタの「General」ペインで行います。プロジェクトナビゲータを開きましょう。「View」>「Navigators」>「Show Project Navigator」コマンドを実行してください。次にターゲットを「Project/Targets」ポップアップメニューから選択します。2つめのサイドバーが現れていれば、その「Targets」セクションで選択しても構いません。「General」をクリックすると、この章で説明する設定事項が現れます。

iOSアプリケーション用の「General」ペインの画面例を示します。

../Art/3_project_navigator_2x.png../Art/3_project_navigator_2x.png

IDおよびチームの設定をする

Xcodeでチームプロビジョニングプロファイルを生成するためには、アプリケーションのバンドルIDが一意的であり、かつ、プロジェクトにチームが設定されている必要があります。後で、アプリケーションの特定の版を識別するために、ほかにもいくつか情報を設定します。IDに関する設定事項は、ターゲットの「General」ペイン内、「Identity」セクションにあります。iOSアプリケーションの「Identity」セクションの様子を以下に示します。

../Art/3_ios_app_target_pane_2x.png../Art/3_ios_app_target_pane_2x.png

バンドルIDについて

バンドルIDは、特定のアプリケーションを明確に識別するために使います。開発期間中はデバイスのプロビジョニングのために必要であり、顧客に配布した後も、オペレーティングシステムが参照します。たとえば、該当するアプリケーションサービスを利用する際、Game CenterやIn-App PurchaseはバンドルIDでアプリケーションを特定します。また、環境設定システムはこの文字列を使って、設定をどのアプリケーションに適用するか識別します。同様にLaunch Servicesは、あるファイルを開くために使うアプリケーションの検索にバンドルIDを利用します。IDに合致する、最初に見つかったアプリケーションで開くのです。さらに、アプリケーションの署名を検証するためにも必要です。

バンドルIDの文字列は、英数字(A-Z、a-z、0-9)、ハイフン(-)、ピリオド(.)のみで構成されるUTI(Uniform Type Identifier)でなければなりません。全体はいわゆる逆DNS形式の文字列です。たとえば、組織のドメインがAcme.comで、Helloという名前のアプリケーションを作成する場合、バンドルIDは「com.Acme.Hello」という文字列になります。

開発中はさまざまなところで、バンドルIDを使ってアプリケーションを識別します。

../Art/bundleid_2x.png

バンドルIDの具体的な保存場所と用途を以下に示します。

  • Xcodeプロジェクトでは、バンドルIDを「情報プロパティリスト」ファイル(Info.plist)に保存します。このファイルは、ビルドの際、アプリケーションバンドルにコピーされます。

  • iTunes Connectでは、バンドルIDを入力することによりアプリケーションを特定します。アプリケーションの最初のビルドをiTunes Connectにアップロードすると、バンドルIDの変更や関連する特定App IDの削除ができなくなります。

  • 開発者アカウントでは、アプリケーションのバンドルIDに合致するApp IDをXcodeが生成します。これが特定App IDであれば、バンドルIDと完全に一致する文字列です。ただし、ドメイン名と違い、大文字と小文字の区別があります。App IDが小文字のみから成るならば、バンドルIDもそうでなければなりません。

  • iCloudの場合、Xcodeプロジェクトで指定するコンテナIDは、アプリケーションのバンドルIDをもとに生成したものでなければなりません。

バンドルIDを設定する

XcodeプロジェクトにおけるデフォルトのバンドルIDは、たとえば「com.MyCompany.MyProductName」のような逆ドメイン形式の文字列です。XcodeはデフォルトのバンドルIDを、組織IDと製品名(テンプレートからプロジェクトを生成する際に入力したもの、「Xcodeプロジェクトの作成時にプロパティを設定する」を参照)を連結して生成します(ただし製品名中の空白は別の文字に置換)。デフォルトのバンドルIDのうち、組織IDの部分(プリフィックス)のみ置換すれば通常は十分ですが、全体を置換しても構いません。たとえば、組織のドメイン名に合わせて組織ID部分を変更するか、特定App IDに合わせてバンドルID全体を置換します。

tvOSアプリケーションが、iOSアプリケーションのiTunes Connectアプリケーションレコードを共有する(「Universal Purchaseの作成(iOS、tvOS)」を参照)場合、そのバンドルIDはiOSアプリケーションと同じでなければなりません。

watchOSアプリケーションの各ターゲット(埋め込みWatchKitアプリケーション、WatchKitエクステンション)は、バンドルIDのプリフィックスがiOSターゲットと同じでなければなりません。バンドルIDの全体は、WatchKitアプリケーションターゲットならば「[Bundle ID].watchkitapp」、WatchKitエクステンションターゲットならば「[Bundle ID].watchkitextension」という形になります。iOSアプリケーションのバンドルIDを変更する際には、WatchKitアプリケーションおよびWatchKitエクステンションの方もこれに合わせて変える必要があります。

Macアプリケーションの場合、バンドルIDがすべて、アプリケーションバンドル内で一意であることを確認してください。たとえば、アプリケーションバンドルにヘルパアプリケーションを収容する場合、そのバンドルIDは、アプリケーション本体のそれと異なる文字列でなければなりません。

バンドルIDのプリフィックス部分は、プロジェクトエディタの「General」ペインで、以下の手順に従って変更できます。

バンドルIDプリフィックス部分を設定するには

  1. プロジェクトナビゲータでプロジェクトとターゲットを選択し、プロジェクトエディタを表示します。

  2. 「General」を押して画面を切り替え、必要ならば「Identity」に添えられた詳細表示用の三角印をクリックして、設定事項を表示します。

    ../Art/3_ios_app_target_pane_2x.png../Art/3_ios_app_target_pane_2x.png
  3. 「Bundle Identifier」フィールドに、バンドルIDのプリフィックスを入力します。

あるいは、プロジェクトエディタの「Info」ペインで、バンドルID全体を変更することも可能です。

バンドルIDを設定するには

  1. プロジェクトナビゲータでプロジェクトとターゲットを選択し、プロジェクトエディタを表示します。

  2. 「Info」を押して画面を切り替えます。

  3. バンドルIDを、「Bundle identifier」行の「Value」列に入力します。

    ../Art/3_ios_info_bundle_id_2x.png../Art/3_ios_info_bundle_id_2x.png

Xcodeプロジェクトをチームに対応づける

個々のXcodeプロジェクトには、ある1つのチームが対応します。個人として加入した人は、1人だけから成るチームとして扱います。開発者アカウントには、アプリケーションのプロビジョニングに必要な、証明書、ID、プロファイルを格納します。すべてのアプリケーションにコード署名とプロビジョニングが必要です。これを施さないと、デバイス上で実行し、特定のアプリケーションサービスを利用することができません。Xcodeは必要に応じてこういったアセットを生成しますが、後で警告やダイアログが現れないよう、あらかじめチームを設定しておくとよいでしょう。

プロジェクトをチームに対応づけるには

  1. プロジェクトナビゲータでプロジェクトとターゲットを選択し、プロジェクトエディタを表示します。

  2. 「General」を押して画面を切り替え、必要ならば「Identity」に添えられた詳細表示用の三角印をクリックして、設定事項を表示します。

  3. 「Team」ポップアップメニューからチームを選択。

    • 個人として加入している場合は、自分の名前を選択します。

    • 組織として加入している場合は、組織名を選択します。

    ../Art/3_assignteam_ios_2x.png../Art/3_assignteam_ios_2x.png

    Xcodeはチームプロビジョニングプロファイルの生成を試みることがあります。iOS/tvOS/watchOSアプリケーションでは、デバイスがMacに接続済みか、または登録済みの場合に限り、Xcodeがチームプロビジョニングプロファイルを生成します。Macアプリケーションの場合、Xcodeは開発用Macを登録します。これに関して問題が生じた場合は、「チームプロビジョニングプロファイルを生成する」を参照してください。

  4. 「Team」ポップアップメニューに該当するチームが現れない場合は、「Add an Account」コマンドを実行し、「Xcodeで自分のApple IDアカウントを追加する」に従って操作してください。

署名IDを選択する(Mac)

Macアプリケーションの配布方法には、ストアに登録する、Developer ID証明書を使って署名を施し、ストアを通さずに配布する、Apple Developer Programに加入していないApple IDを使って署名する、コード署名を施さない、という選択肢があります。「Mac App Store」を選択した場合は、Xcodeプロジェクトをチームに対応づけることになり、アプリケーションサービスを有効にすることができます(「技術やサービスを組み込む」を参照)。Developer IDまたはApple IDを選択する場合、利用できるケイパビリティには制限があります。「None」を選択すると「Team」ポップアップメニューは開かなくなります。以下、このガイドを読む必要はありません。

署名IDを選択するには

  1. プロジェクトナビゲータでプロジェクトとターゲットを選択し、プロジェクトエディタを表示します。

  2. 「General」を押して画面を切り替え、必要ならば「Identity」に添えられた詳細表示用の三角印をクリックして、設定事項を表示します。

  3. 使おうとする署名IDの種類を選択します。

    何を選択するかは、「Team」ポップアップメニューから選択するApple IDによって異なります。

    • アプリケーションをストアに登録する場合は、Apple Developer Programに加入しているApple IDを「Team」ポップアップメニューから選択し、「Mac App Store」を選択します。

    • ストアを通さずにMacアプリケーションを配布する場合は、Apple Developer Programに加入しているApple IDを「Team」ポップアップメニューから選択し、「Developer ID」を選択します。

    • Apple Developer Programに加入していないApple IDを使う場合は、Apple IDを「Team」ポップアップメニューから選択し、「Apple ID」を選択します。

    • アプリケーションに署名せず、アプリケーションサービスも利用しない場合は、「None」を選択します。

    アプリケーションから利用できるケイパビリティは、ここで選択した署名IDによって決まります(「サポートされるケイパビリティ」を参照)。

    ../Art/3_selectdistributionmethod_2x.png../Art/3_selectdistributionmethod_2x.png

Developer IDで署名したアプリケーションを開発するためのその他の手順については、「Mac App Storeを通さずにアプリケーションを配布する手順」を参照してください。

チームプロビジョニングプロファイルを生成する

チームを選択した場合、Xcodeはチームプロビジョニングプロファイルという、特別な開発用プロビジョニングプロファイルを生成、管理します。これを使ってアプリケーションに署名を施すと、チームメンバーは誰でも、あらゆるデバイス上で実行できるようになります。生成に失敗した場合、「Team」ポップアップメニューの下に、警告と「Fix Issue」ボタンが現れます。

../Art/3_tb_noprovisioningprofile_2x.png../Art/3_tb_noprovisioningprofile_2x.png

チームプロビジョニングプロファイルをあらかじめ生成しておけば、今後さまざまな問題を回避できます。多くの場合、警告メッセージの下に現れる「Fix Issue」を押すだけで、Xcodeが次の処理を実行します。

  1. 開発用証明書を作成する

    Xcodeは、「Team」ポップアップメニューで選択されたチームの、開発用証明書を作成します。

  2. 「Scheme」ツールバーメニューで選択されたデバイスを登録するか、Macを登録する

    チームプロビジョニングプロファイルを生成するためには、デバイスがいくつか、アカウントに登録されている必要があります。Macアプリケーションであれば、Xcodeが動作しているMacが自動的に登録されます。iOS/tvOSアプリケーションの場合、肺初に使うデバイスを接続してください。watchOSアプリケーションについては、Apple WatchとペアリングしたiPhoneを接続します。デバイスが配備ターゲットと一致していれば、Xcodeがこのデバイスを登録します。デバイスが配備ターゲットと一致していないため、ターゲットとして適切でない場合は、デバイス上のOSをアップグレードするか、配備ターゲットを変更します(「配備情報を設定する」を参照)。

  3. アプリケーションのバンドルIDに合致するApp IDを生成し、アプリケーションサービスを有効にする

    プロジェクト設定によって、XcodeがワイルドカードApp IDを生成する場合と、特定App IDを生成する場合があります。Xcodeは特定App IDを登録するためにバンドルIDを使うので、開発期間を通して、バンドルIDも一意的でなければなりません。App IDを登録する際にエラーが生じないよう、一意的なバンドルIDを入力してください(「バンドルIDを設定する」を参照)。

  4. 以上のアセットを収容するチームプロビジョニングプロファイルを生成する

  5. これに従い、コード署名に関するプロジェクトのビルド設定を行う

Xcodeが以上の処理を実行した後、「Team」ポップアップメニューの下に出ていた警告メッセージは消えます。

../Art/3_tb_team_profile_created_2x.png../Art/3_tb_team_profile_created_2x.png

ダイアログや警告が表示された場合は、その内容に応じて問題を解消し、改めて「Fix Issue」ボタンを押します。「Your account already has a valid … certificate」というダイアログが現れた場合、次のいずれかを実行してください。

アプリケーションカテゴリを設定する(Mac)

MacアプリケーションをMac App Storeに表示する際のカテゴリを設定します。これは、後でiTunes Connectのアプリケーションレコードで選択するカテゴリと一致しなければなりません。

アプリケーションカテゴリを設定するには

  1. プロジェクトナビゲータでプロジェクトとターゲットを選択し、プロジェクトエディタを表示します。

  2. 「General」を押して画面を切り替え、必要ならば「Identity」に添えられた詳細表示用の三角印をクリックして、設定事項を表示します。

  3. 「Application Category」ポップアップメニューからカテゴリを選んでください。

    ../Art/3_selectdistributionmethod_2x.png../Art/3_selectdistributionmethod_2x.png

iOS/tvOS/watchOSアプリケーションのカテゴリはiTunes Connectでしか設定できません。アプリケーションカテゴリについて詳しくは、『iTunes Connectデベロッパガイド』の「ベストプラクティス」を参照してください。

版番号とビルド文字列を設定する

アプリケーションをiTunes Connectにアップロードする際には、版番号およびビルド文字列を設定/更新しなければなりません。ストアはこの番号を手がかりにして、個々のビルドを識別するからです。

版番号は、正の整数を3つ、ピリオド区切りで並べた文字列で、たとえば「4.5.2」のような形になります。それぞれ、メジャーリビジョン、マイナリビジョン、メインテナンスリリースを表す番号です。これはストアにも表示されます。また、後でiTunes Connectに入力する版番号と一致していなければなりません。取りうる値について詳しくは、『Information Property List Key Reference』の「CFBundleShortVersionString」を参照してください。

ビルド文字列はバンドルの状態(公開済みか否か)を表し、「1.2.3」のように正の整数値が2つのピリオドで区切られていることもあります。Macアプリケーションの場合、「About」ウインドウの版番号部分をクリックすると、版番号とビルド文字列の表示が交互に切り替わります。取りうる値について詳しくは、『Information Property List Key Reference』の「CFBundleVersion」を参照してください。

版番号やビルド文字列の設定は、プロジェクトエディタの「General」ペインで行います。

版番号やビルド文字列を設定するには

  1. プロジェクトナビゲータでプロジェクトとターゲットを選択し、プロジェクトエディタを表示します。

  2. 「General」を押して画面を切り替え、必要ならば「Identity」に添えられた詳細表示用の三角印をクリックして、設定事項を表示します。

  3. 「Version」欄に版番号、「Build」欄にビルド文字列を入力してください。

    ../Art/3_tb_team_profile_created_2x.png../Art/3_tb_team_profile_created_2x.png

配備情報を設定する

開発中はデフォルトの配備設定でも構いませんが、配布が近づいたら設定内容を確認するとよいでしょう。設定事項のいくつかは、後でiTunes Connectで入力する値と一致していなければなりません。iOSアプリケーションの場合、配備設定は以下のように表示されます。

../Art/3_deployment_info_2x.png

配備ターゲットを設定する

配備ターゲットの設定では、アプリケーションが動作できる最も古いOSの版を指定します。たとえばiPadアプリケーションの場合、iOS 4.3となります。

開発時に配備ターゲットを選択する方針はいくつか考えられます。OSの各版には、以前の版にはなかった機能が組み込まれています。新版が公開されれば早速アップグレードするユーザー、すぐにアップグレードせずそのまま様子を見るユーザーなどさまざまです。最新版をターゲットにすれば、新しい機能をすべて利用できますが、旧版を使っているユーザは実行できません。逆に少し古い版までターゲットにすれば、実行できるユーザは多くなりますが、最新の機能は利用できないことになります。一方、古い版をターゲットにしつつ、新しい版の機能が使えるかどうか実行時に確認する、弱いリンクの仕組みを使う方法も考えられます。

弱いリンクについて詳しくは、『SDK Compatibility Guide』の「Weak Linking and Apple Frameworks」を参照してください。

ターゲットの版を設定するには

  1. プロジェクトナビゲータでプロジェクトとターゲットを選択し、プロジェクトエディタを表示します。

  2. 「General」を押して画面を切り替え、必要ならば「Deployment Info」に添えられた詳細表示用の三角印をクリックして、設定事項を表示します。

  3. ターゲットとする版を「Deployment Target」ポップアップメニューから選択してください。

    ../Art/3_deployment_target_2x.png../Art/3_deployment_target_2x.png

Xcodeはアプリケーションの情報プロパティリストに、「Minimum System Version」キーの値としてこの配備ターゲットを設定します。アプリケーションをストアに公開する際には、このプロパティを使って、アプリケーションが動作するシステムの版を示します。

ターゲットデバイスを設定する(iOS、watchOS)

「Devices」設定では、アプリケーションが動作するデバイスの種類を指定します。デバイスタイプにはiPhoneとiPadの2種類があります。「iPhone」という種類は、iPhoneとiPod touchの両方を表します。一方「iPad」は、iPadやiPad miniを表します。

ターゲットデバイスを設定するには

  1. プロジェクトナビゲータでプロジェクトとターゲットを選択し、プロジェクトエディタを表示します。

  2. 「General」を押して画面を切り替え、必要ならば「Deployment Info」に添えられた詳細表示用の三角印をクリックして、設定事項を表示します。

  3. 「Devices」ポップアップメニューから、「iPhone」、「iPad」、「Universal」(両方で動作する)のいずれかを選択してください。

    ../Art/3_target_devices_setting_2x.png../Art/3_target_devices_setting_2x.png

動作対象デバイス(iPhone/iPad/両方)の設定について詳しくは、『iOSアプリケーション:プログラミングガイド』の「高度な技法」を参照してください。

アプリケーションアイコンや起動画面ファイルを追加する

アプリケーションアイコンや起動画面ファイルは、独立したアセットとしてiTunes Connectにアップロードするのではなく、アプリケーションバンドルに格納します。オペレーティングシステムでは、これらの画像と起動画面ファイル(.xibファイル)が該当するアプリケーションを表すものとしてデバイス上の各所で使用されます。一般に、オペレーティングシステムが表示するアートワークはバンドル内に置き、iTunesまたはストアが表示するアートワークはiTunes Connectにアップロードしてください。アプリケーションにはそれ自身を表すアイコンが必要であり、検証テストにも欠かせません。

アプリケーションアイコンを管理するアセットカタログを利用しても、個々の画像ファイルを自分で管理しても構いません。プロジェクトを新規に作成すると、アプリケーションアイコンを格納するのにアセットカタログがデフォルトで使用され、起動画面ファイルがスプラッシュ画面として使用されます。iOS 7の配備ターゲットには、起動画面ファイルと起動画像をどちらも設定できます。iOS 8では起動画面ファイルが使用され、iOS 7では起動画像が使用されます。旧式のプロジェクトで、個別にアイコン画像ファイルを管理していた場合でも、アセットカタログを使う方式に変更できます。旧式のXcodeプロジェクトに起動画像ファイルを追加することもできます。

アセットを個別の画像ファイルとして管理したい場合は、「アプリケーションアイコンと起動画像ファイルを個別に設定する」を参照してください。アセットカタログに移したい場合は、「画像をアセットカタログに移して管理する」を参照してください。アセットカタログを生成、管理する手順について詳しくは、『Xcodeのヘルプ』を参照してください。

アートワークを用意する

アートワークはいずれも、できるだけ容量を抑え、ユーザが購入する際に時間がかからないようにしなければなりません。

iOSアプリケーションに必要なアイコンや起動画像、およびその他のアイコンの大きさについては、アイコンや画像の大きさ(『iOSヒューマンインターフェイスガイドライン』)を参照してください。

iOS/tvOSでは、アプリケーションアイコンをタップするとすぐに、デバイスの解像度に合った起動画像が表示されます。スクリーンショットをもとに作成するとよいでしょう。Retinaディスプレイを活かすためには、サポートする各デバイスに高解像度画像を提供する必要があります。起動画像を作成する方法については、起動画像を参照してください。

Macアプリケーションに必要なアイコンについては、Creating Great Icons for Any Resolution(『macOS Human Interface Guidelines』)を参照してください。この表には、Mac App Storeで使用できるアイコンのサイズが記載されています。アプリケーションアイコンファイルを作成する方法については、『High Resolution Guidelines for OS X』の「Provide High-Resolution Versions of All App Graphics Resources」を参照してください。

後でiTunes Connectを使ってアップロードする、スクリーンショットその他のアートワークの仕様については、『iTunes Connectデベロッパガイド』の「iTunes Connectアプリケーションのプロパティ」を参照してください。

アプリケーションアイコンをアセットカタログに追加する

アセットカタログでは、各版のアプリケーションアイコンを画像セットとして整理します。Xcodeは自動的に、アプリケーションのターゲットデバイスごとに、画像セットを生成します。たとえば、iOSアプリケーションのターゲットが「ユニバーサル」であれば、iPhone用とiPad用の画像セットが現れます。

アプリケーションアイコンをアセットカタログに追加するには

  1. プロジェクトナビゲータでプロジェクトとターゲットを選択し、プロジェクトエディタを表示します。

  2. 「General」ペインの「App Icons and Launch Images」セクションで、「App Icons Source」ポップアップメニューの右にある矢印ボタンをクリックします。

    ../Art/3_app_icon_arrow_2x.png../Art/3_app_icon_arrow_2x.png
  3. Finder上でアプリケーションアイコンを摑み、プロジェクトナビゲータの、解像度が合致する画像ウェル上にドラッグしてください。

    ../Art/3_add_app_icon_to_asset_catalog_2x.png../Art/3_add_app_icon_to_asset_catalog_2x.png

起動画面ファイルを作成する

起動画面ファイルは、アプリケーションの起動中にスプラッシュ画面として表示されます。単一のアトミック.xibファイルであり、サイズクラスを使ってさまざまなデバイスの解像度に対応しています。UIImageViewオブジェクトやUILabelオブジェクトなどの基本UIKitビューが組み込まれており、Auto Layout制約が適用されます。Xcodeにより、「LaunchScreen.xib」というデフォルトの起動画面ファイルがプロジェクトに追加されます。

起動画面ファイルを作成する際の注意点を以下に挙げます。

  • UIKitクラスだけを使う。

  • 1つのルートビュー(UIViewまたはUIViewControllerオブジェクト)を使う。

  • コードへの接続を行わない(アクションもアウトレットも組み込まない)。

  • UIWebViewオブジェクトを組み込まない。

  • 独自のクラスを使わない。

  • ランタイム属性を使わない。

旧式のXcodeプロジェクトに起動画像ファイルを追加できます。

既存のプロジェクト用の起動画面ファイルを作成するには

  1. 「File」>「New」>「File」の順に選択します。

  2. 「iOS」の下にある「User Interface」を選択します。

  3. 「Launch Screen」をクリックしてから「Next」をクリックします。

    ../Art/3_create_launch_screen_file_2x.png../Art/3_create_launch_screen_file_2x.png
  4. 「Save As」テキストフィールドにファイル名を入力して「Create」をクリックします。

起動画面ファイルを設定するには

  1. 必要な場合は、「General」ペインの「App Icons and Launch Images」セクションを開きます。

  2. 「Launch Screen File」ポップアップメニューから起動画面ファイルを選択します。

起動画像を追加し、スクリーンショットを取得する

デバイスをMacに接続しておき、以下の手順に従って、アプリケーションのスクリーンショットを取得してください。iOSアプリケーションのスクリーンショットをそのまま起動画面にすると、ステータスバーの部分も画面に入ってしまいますが、iOSでは、アプリケーションを起動する際、その時点のステータスバーに差し替えて表示するようになっています。

デバイス上で動作しているアプリケーションのスクリーンショットを取得するには

  1. デバイスをMacに接続します。

  2. 「Window」>「Devices」の順に選択した後、「Devices」から該当するデバイスを選択します。

  3. 「Device Information」セクションで「Take Screenshot」をクリックします。

    ../Art/3_take_screenshot_2x.png

    スクリーンショットがデスクトップ上に表示されます。

アプリケーションアイコンと起動画像ファイルを個別に設定する

アセットカタログを使わない場合は、「General」ペインの「App Icons and Launch Images」セクションにある「App Icons Source」または「Launch Images Source」ポップアップメニューから「Don’t use asset catalogs」を選択します。「Use Asset Catalog」ボタンが現れている場合、アセットカタログを使っていないことになります。

画像をアセットカタログに移して管理する

旧式のプロジェクトの場合、アプリケーションアイコンや起動画像などの画像ファイルは、アセットカタログに移して管理することができます。Xcodeは画像ファイルを、テーブルから新しいアセットカタログに移動するようになっています。アプリケーションアイコンと起動画像で別々のアセットカタログを作成できますが、手順は同じです。

アセットカタログに移行するには

  1. プロジェクトナビゲータでプロジェクトとターゲットを選択し、プロジェクトエディタを表示します。

  2. 「General」をクリックして画面を切り替え、必要に応じて「App Icons and Launch Images」の横にある詳細表示用の三角印をクリックします。

  3. 「App Icons Source」または「Launch Images Source」の横にある「Use Asset Catalog」ボタンをクリックします。

    ../Art/3_use_asset_catalog_2x.png../Art/3_use_asset_catalog_2x.png
  4. 表示されるダイアログで、ポップアップメニューから「Assets」または「New Asset Catalog」を選択して「Migrate」をクリックします。

    ../Art/3_migrate_to_catalog_2x.png../Art/3_migrate_to_catalog_2x.png

アセットカタログを表示するには、「App Icons Source」または「Launch Images Source」ポップアップメニューの右にある矢印ボタンをクリックします。

輸出規制情報をプロジェクトに追加する(任意)

iTunes Connectにアップロードするビルドごとに、輸出規制情報を任意で指定できます。アプリケーションで暗号化を利用していて、輸出規制に準拠するための書類が必要となる場合は、iTunes Connectを使って書類をアップロードし、審査用に提出します(『iTunes Connectデベロッパガイド』の「Cryptography and U.S. Export Compliance」を参照)。書類が承認されると、XcodeプロジェクトのInfo.plistファイルに追加できるキーと値のペアがiTunes Connectによって提供されます。ビルドで輸出規制情報を提供した場合は、後ほどアプリケーションをTestFlightを使って配布する際またはアプリケーション審査に提出する際に、この情報を提出する必要がなくなります。

輸出規制のキーをXcodeプロジェクトに追加するには

  1. プロジェクトウィンドウで、ターゲットを「Project/Targets」ポップアップメニューから選択します。2つめのサイドバーが現れていれば、その「Targets」セクションで選択しても構いません。

  2. 「Info」を押して画面を切り替えます。

  3. ターゲットプロパティテーブルの末尾の行で、追加ボタン(+)をクリックします。

  4. 検索フィールドに、輸出規制のキーに続けて改行文字を入力し、キーの値を設定します。

    • アプリケーションで暗号化を利用していない場合は、App Uses Non-Exempt Encryptionキーを追加し、値をNOに設定します。

    • アプリケーションで暗号化を利用している場合は、App Uses Non-Exempt Encryptionキーを追加し、値をYESに設定します。

    • アプリケーションで輸出規制への準拠が必要な場合は、App Encryption Export Compliance Codeキーを追加し、iTunes Connectによって提供されるこのキーの値を入力します。

    ../Art/8_add_export_compliance_keys.shot/Resources/shot_2x.png../Art/8_add_export_compliance_keys.shot/Resources/shot_2x.png

「Copyright」キーを設定する(Mac)

情報プロパティリストのファイルには、「Copyright」キーに対応する適切な値を記述しなければなりません。取りうる値について詳しくは、NSHumanReadableCopyright(『Information Property List Key Reference』)を参照してください。

情報プロパティリストの「Copyright」キーを編集するには

  1. Xcodeを起動し、プロジェクトナビゲータ上で該当するプロジェクトを選択します。

  2. ProjectNameフォルダに添えられた展開表示用の三角印をクリックして、その内容を表示してください。

  3. さらに、「Supporting Files」サブフォルダの三角印もクリックして、その内容を表示します。

  4. ProjectName-Info.plist」という名前のファイルを選択してください。

    情報プロパティリストが、プロパティリストエディタの右側に表示されます。

    ../Art/3_copyright_key_2x.png../Art/3_copyright_key_2x.png
  5. 「Copyright」キーに該当する行の「Value」列をダブルクリックします。

  6. 新しい値を入力してください。

プロパティリストにある他のセルの編集方法については、『Xcodeのヘルプ』を参照してください。

ビルド設定を検証する

デフォルトのビルド設定を変更した場合、アプリケーションをストアに登録する前に、設定内容を検証してください。これはプロジェクトエディタの「Build Settings」ペインで行います。

ビルド設定を編集するには

  1. プロジェクトエディタで、ビルド設定を編集しようとするプロジェクトまたはターゲットを選択します。

  2. プロジェクトエディタの上部にある「Build Settings」をクリックします。

    ../Art/3_edit_build_settings_2x.png../Art/3_edit_build_settings_2x.png
  3. 左側の列から該当するビルド設定を選択するか、右上隅にある検索欄にビルド設定名を入力してください。

  4. 必要なビルド設定項目が現れない場合は、「All」を押してみるとよいでしょう。

  5. 右欄にビルド設定の値を入力します。

アーキテクチャを設定する(iOSアプリケーション)

「Architectures」ビルド設定は、アプリケーションのビルド対象アーキテクチャを表します。iOSデバイスは、armv7arm64など、各種のアーキテクチャに基づいて実装されています。次のいずれかを指定してください。

  • Standard。サポートされているすべてのデバイスと互換性のある、共通のアーキテクチャに基づいてアプリケーションバイナリを生成します。最低限の要件を満たすアプリケーションを生成できますが、あらゆるデバイス上で最高の処理速度を発揮できるような最適化は施しません。

  • Other。指定したアーキテクチャ群に応じたバイナリを生成します。

「Other」を選択した場合、「Add」ボタン(「+」の表示)を押して、対応するアーキテクチャ名を入力してください。

ベースSDKを設定する

ベースSDKの版番号は、開発デバイス上のソフトウェアの版番号以降にしてください。そうでなければ、当該デバイス上でデバッグセッションを開始できません。プロジェクトやターゲットのベースSDKは、最新のオペレーティングシステムに応じたものを指定してください(これがデフォルト値)。「Base SDK」プロパティは、「Build Settings」ペインの「Architectures」領域にあります。iOSアプリケーションの場合、「Base SDK」として「Latest iOS」を指定してください。Macアプリケーションであれば「Latest OS X」を指定します。それ以外を指定した場合は、デバイス上で動作するソフトウェアの版番号以降である、最新のSDKをダウンロード、インストールする必要があります。

「Architectures」領域に切り替えるため、該当するプロジェクトまたはターゲットを選択し、「Build Settings」を押してください。すると「Build Settings」ペインに、まず「Architectures」領域が現れます。

../Art/3_base_sdk_2x.png../Art/3_base_sdk_2x.png

デバッグ情報の形式を設定する

「Debug Information Format」ビルド設定として「DWARF with dSYM File」を指定します。これはクラッシュレポート中のアドレスをシンボルに置き換えて表示するために必要です(「クラッシュレポートの分析」を参照)。

../Art/3_debug_info_format_2x.png../Art/3_debug_info_format_2x.png

まとめ

この章では、テンプレートをもとにXcodeプロジェクトの設定を行い、アプリケーションのID情報を設定し、開発に用いるチームプロビジョニングプロファイルを生成する手順を説明しました。開発の際には、必要に応じてこの章を読み返してください。その後も、ストアに登録する際に必要な設定項目があるので、チェックリスト代わりに参照するとよいでしょう。