【Swift】iOSアプリをAppStoreで公開する方法!前準備とXcodeのビルドのやり方
この記事からわかること
- Swiftで開発したアプリをApp Storeに公開する方法
- アプリ公開に必要なもの
- スクリーンショットの準備方法
- AppStore Connectの使い方
- Xcodeからアプリをアップロード
- アプリを申請するには?
- 再アップロードのやり方
index
[open]
\ アプリをリリースしました /
友達や家族の誕生日をメモ!通知も届く-みんなの誕生日-
posted withアプリーチ
- 更新日:
今回はSwiftで開発したiOSアプリをApp Storeに公開する方法と手順をまとめていきたいと思います。ちなみにAndroidの申請方法は↓こちらです。
おすすめ記事:AndroidアプリをGoogle Play Storeへ公開する方法!手順と注意点
iOSアプリをAppStoreで公開する方法
最初に流れを確認してみます。
公開する手順
- アプリ登録に必要となるもの
- スクリーンショットの準備
- Apple Developer Programへの登録
- App IDの作成
- AppStore Connectに登録
- 登録するアプリ情報を編集
- App情報の編集
- 価格および配信状況の編集
- Appのプライバシーの編集
- Xcodeからアプリをアップロード
- ビルド情報を編集
- アプリを申請する
上記の流れに沿っていけば「開発したiOSアプリをApp Storeに公開」することができます。
環境(2023/11/8:更新)
- Xcode:15.0.1
- iOS:17.0
- watchOS:10.0
- Swift:5.9
- macOS:Sonoma 14.1
- Swiftで作成したiOSアプリ(iPhone向け)
アプリ登録に必要となるもの
App Storeにアプリを公開するにあたって必要となるものを先に準備しておきます。
必要になるもの
- アプリのスクリーンショット
- アプリ公式サイトURL
- アプリ宣伝サイトURL
- アプリのプライバシーポリシーサイトURL
- 「Apple Developer Program」への加入
アプリを登録する上でいくつかURLが必要になります。URL形式でアクセスできるのであれば自分のブログやGitHubなどでも構いません。また全て用意しなくても1つのページに集約させて同じURLを設定することも可能です。
私はこのサイトではなく無料でWebページが作成できる「ペライチ」を使用して「利用規約とプライバシーポリシー」ページを作成しました。1ページなら無料で作れるのでおすすめです。
スクリーンショットと「Apple Developer Program」については後述しています。
スクリーンショットの準備
目的:アプリ情報申請時に必須になるため
公開したいアプリ開発が終了したらアプリ画面のスクリーンショットを準備しておきます。用意するのは以下のサイズを各1枚以上です。
用意するスクリーンショット
- 5.5インチ解像度(1242 × 2208):iPhone 8 Plus
- 6.5インチ解像度(1242 × 2688 or 1284 × 2778):iPhone 13 Pro Max
スクリーンショットを撮るデバイスに制限はありませんが、上記のサイズに一致する必要があるため「iPhone 8 Plus」と「iPhone 13 Pro Max」で条件をクリアできます。詳細は下記リンクをご覧ください。
作成したアプリがiPhone限定であれば準備するスクリーンショットはiPhoneのみで大丈夫です。iPadも含める場合はiPadのスクリーンショットも必要になります。
自分のアプリが何向けに設定されているかはXcodeでプロジェクトを起動し、「XXX.xcodeproj」ファイルを開きます。その中の「General」>「Deployment Info」の欄にチェックされているデバイスを確認してみてください。
iPad向けのスクリーンショット
iPadにも対応したアプリを作成する場合は同様にiPadサイズのスクリーンショットが必要になります。こちらも同様に各サイズ1枚以上必要です。
用意するスクリーンショット
- 12.9インチ解像度/第3世代(2048 x 2732):iPad Pro(12.9-inch) (5th generation)
- 12.9インチ解像度/第2世代(2048 x 2732):iPad Pro(12.9-inch) (5th generation)
デバイス制限はないので上記のサイズを満たす「iPad Pro(12.9-inch) (5th generation)」でOKです。項目ありますがサイズは同じなので両方に同じスクリーンショットを送信しても問題ありませんでした。
スクリーンショットを受け付けてくれない問題
正しい手順とデバイスでスクリーンショットを撮影しアップロードしてもなぜか受け付けてくれないことがあります。そのような場合は画像の容量を圧縮してから送信することで解決することができました。
無料で簡単に画像圧縮が行えるサイト「TinyPNG」がおすすめです。
Apple Developer Programへの登録
目的:App Storeへアプリを配信するため
App Storeにアプリを公開するにはApple公式の有料メンバーシップ「Apple Developer Program」への加入が必須になります。
費用は年額「$99」(日本円:11000〜14000円)かかります。
登録は個人でも可能でApple IDとクレジットカードがあれば簡単に加入できます。詳しい登録方法は下記記事をご覧ください。
App IDの作成
目的:配信するアプリを識別するためのApp ID(Bundle ID)を作成
「Apple Developer Program」への登録が完了するとApple Developer(デベロッパーサイト)へアクセスできるようになります。ここから公開するアプリの「App ID」を作成しておきます。
- 「Certificates, IDs & Profiles」をクリック
- 「Identifiers」クリック
- 「+」ボタンを押して新規作成
- 「App IDs」を選択して「Continue」ボタンをクリック
- 「Select a type」と表示されたら「App」を選択して「Continue」ボタンをクリック
- 「Description」に「IDの説明」を入力
- 「Bundle ID」として「Explicit」を選択
- 下の入力欄にアプリ作成時に設定した「Bundle ID」を入力
- 「Capabilities(アプリ実行に必要な権限)」一覧の中に必要なものがあればチェック
- 「Continueボタン」をクリック
- 「Registerボタン」をクリック
「Bundle IDが無効な値」というエラーが出ることがありますが、その際はXcodeからプロジェクトの「Bundle ID」を変更して再度登録してみてください。
AppStore Connectに登録
目的:アプリ管理ツールへのアプリ登録
続いてAppStore Connectにアプリを登録していきます。「AppStore Connect」とはApp Storeで配布するアプリを管理するためのツールセットです。ここからアプリの審査を申請します。
申請の流れ
- 「AppStore Connect」にアプリを登録
- 「AppStore Connect」に必要になる情報を記述
- 「Xcode」からビルド(「AppStore Connect」に反映)
- 再度「AppStore Connect」から編集して申請
- 「My App」を選択
- Appの右側の「+」ボタン>「新規App」をクリック
- プラットフォーム:「iOS」
- 名前:「アプリ名」(App Store内に重複しない名称)
- 言語:「日本語」
- Bundle ID:作成した「App ID」
- SKU:自由に決めれるアプリ固有ID(Stock Keeping Unit:在庫管理単位※)
- User Access:「アクセス制限なし」
- 「作成」ボタンを押して終了
※SKUは売上などの管理をするための識別子でユーザーには公開されない内部的なIDです。一度設定すると変更できないのでIDからアプリを識別できるような命名がおすすめです。
すると以下のようなアプリの登録設定画面へと切り替わります。
登録するアプリ情報を編集
目的:公開するために必要なアプリ情報を記述
登録設定画面ではアプリに関する情報を入力していきます。まずはサイドバーの「App Review」から以下の項目を記述していきます。
- スクリーンショット画像のアップロード
- プロモーション用テキスト:一時的なアプリの紹介(キャンペーンやイベントなど)
- 概要:アプリの特徴や説明
- キーワード:検索キーワード(例:map,user,location,spot)
- サポートURL:アプリの公式サイトURL
- マーケティングURL:アプリの宣伝サイトURL
- バージョン:適切なバージョン(1.0のままでOK)
- 著作権:年数と人物名/組織名が推奨(例:2022 ame)
- App Reviewに関する情報:アプリにログイン機能がなければ「サインインが必要です」のチェックを外す
- 「保存」をクリック
続いてサイドバーの他の項目も設定していきます。
App情報の編集
- 名前:アプリ名
- サブタイトル:サブタイトル
- コンテンツ配信権:サードパーティ製の有無(※)
- 年齢制限
- カテゴリ:プライマリ/セカンダリ
- 「保存」をクリック
※サードパーティ製とは「第三者」を指し示す意味の英語で、この場合では製品の開発元ではない第三者が特定の製品に対応する製品を提供することを指しています。つまり「非正規品」のことで第三者のアプリを使用しているかしていないかを基準に判断すればOKです。
価格および配信状況の編集
- 基準となる国:日本(JPY)
- 価格:¥ 0 (無料)
- 「完了」をクリック
- 配信可否をクリック
- 配信したい国を選択
- 「完了」をクリック
- 「保存」をクリック
Appのプライバシーの編集
- プライバシーポリシー横の編集をクリック
- プライバシーポリシーページのURLのみを記述
- ポップアップを閉じる
- その下の「はじめに」をクリックし使用する情報を登録
- 「公開」をクリック
使用する情報はアプリの内容や使用しているライブラリによって異なるので適切な値を設定してください。
これでひとまず最初の登録は完了です。
Xcodeからアプリをアップロード
続いてXcodeからアプリをアップロードする作業に入ります。まずは対象アプリをXcodeで起動します。最後に漏れがないか確認しておきましょう。
確認事項
- アプリアイコンの設定
- 正しくビルドができるか
- 開発環境→本番環境用にコードを修正したか
- AdMobを導入していればアプリIDと広告IDを自身のものに
- アプリ使用のデバイス設定の確認(iPhone/iPad/Macなど)
- ホーム画面下のアプリ名の設定(Bundle display name)
- Privacy Manifestsの対応
準備が整えばアップロード作業に入ります。
- Xcodeのビルド対象を「Any iOS Device (arm64)」に変更
- Xcode上部メニューから「Product」>「Archive」をクリック
- 完了すると以下1枚目の画面に切り替わる
- 「Distribute App」をクリック
- 「TestFlight & App Store」を選択して「Next」をクリック
- 「Upload」を選択して「Next」をクリック
- 「Include bitcode for iOS content」と「Upload your app's symbols to receive symbolicated reports from Apple」にチェックを入れて「Next」をクリック
- 「Automatically manage signing」を選択
- アプリの詳細情報が表示されるので確認して「Upload」をクリック
- 以下3枚目の画面が表示されれば成功
上記の画面になると登録したメールアドレスに「App Store Connect: Version 1.0 (2) for mapping has completed processing.」といったメールが届きます。これが無事AppStore Connectへの反映も終了したという合図になります。
ビルド情報を編集
再度AppStore Connectにアクセスして空白だったビルド情報を完成させていきます。
- AppStore Connectにログイン
- 「My App」を選択
- 該当のアプリを選択
- 「Build」の右側にある「+」ボタンをクリック
- 問題がなければ「Done」をクリック
- 「Export Compliance Information(アプリが暗号化通信を行なっているかどうか)」に「No」を選択して「Done」をクリック
- 「コンプライアンスがありません」の右側にある「管理」ボタンをクリック
- アプリがHTTPS接続などしていれば「標準的な暗号化アルゴリズム」何もなければ「上記のアルゴリズムのどれでもない」をクリック
ここまできた状態でアプリに不具合や修正が見つかった場合は「申請前に修正する(再アップロード)」をご覧ください。
アプリを申請する
最後にアプリを申請していきます。
- 「審査に追加」をクリック
- 「The status of your (iOS) app, アプリ名, is now "Ready For Review".」という件名のメールが届く
- AppStore Connect側で「申請」をクリック
- 「The status of your (iOS) app, アプリ名, is now "Waiting for Review"」という件名のメールが届く
- 審査申請完了(開始までは数時間〜数日かかる)
- 「The status of your (iOS) app, アプリ名, is now "In Review"」という件名のメールが届く
- 審査開始(結果は数時間〜数日かかる)
- 「Your submission was accepted"」という件名のメールと、「アプリ名 is now "Ready for Sale", ...」という件名のメールが届けば審査を通過
審査追加後に自動で配信を選択していた場合はメールが届いてから数日でApp Storeに公開されます。私の場合は15日に申請を出して21日にApp Storeに自動配信されました。配信されたタイミングで特にメールなどの通知は来なかったのでApp Store Connectにログインして確認してみてください。
申請前に修正する(再アップロード)
申請前まで進んだけど少し修正して再度アップロードしたい場合があると思います。
その際は「Xcodeからアプリをアップロード」の手順を以下の手順の後に再度繰り返せばOKです。
やるべきこと
- プロジェクトのビルド番号をインクリメントする
- AppStore Connect内で古いビルド番号をで消去し新しいビルド番号を選択し直す
そのためにXcodeでプロジェクトを開き「XXX.xcodeproj」ファイルを開きます。その中の「General」>「Identity」>「Build」の番号を「+1」した数にして再度アップロードしてください。
また公開したアプリをアップロードする際の手順と注意点はこちらにまとめてあります。
実際に公開してみた自作アプリがサイドバーにあります。GitHub上にソースコードも公開していますので興味があればソースコードの閲覧とインストールしてくれると嬉しいです。
日本だけでなく海外でもインストールできるようにする
App Storeに公開するアプリは配布地域などを選択することが可能です。しかし全世界にしても適切にローカライズ(多言語対応)していないと日本語のアプリが海外に表示されてしまうので注意してください。詳細は以下の記事を参考にしてみてください。
ご覧いただきありがとうございました。
私がSwift UI学習に使用した参考書