[iOS] iOS エンジニア以外でもリリースできる!iOS アプリのリリース手順のまとめ [2015年11月版]
はじめに
こんにちは、モバイルアプリサービス部の荒川です。
最近は、お客様の端末でソースコードをダウンロードして、アプリをリリースして頂く機会が増えてきました。iOS アプリのリリースは Android と比較すると非常に煩雑です。
Apple の開発者用アカウント管理や設定、Xcode でのリリース用バイナリの書き出しは、慣れている方でも(公式のUIがたまに変わるので)すぐにできるとは限りません。セキュリティを考慮すると、自社以外の関係者にリリースをお願いすることは、好ましくありません。NDAを締結しても、事故が起きるリスクがあります。
この記事では、上記の問題を解決するために、iOS 開発者以外の方でも Xcode から App Store へリリースできる手順を紹介します。
対象読者としては、
- 初めて App Store へバイナリを提出する方
- リリース担当者から引き継ぎをお願いされた方
- 特定の開発者しかリリースが行えない状態のプロジェクト関係者
- Xcode で iOS アプリの開発をした事がない方
を想定とします。
また、Apple へ提出したバイナリを審査・配布・管理できる「iTunes Connect」の紹介は、この記事では行いません。予めご了承下さい。Xcode から App Store へバイナリを提出するまでの過程を紹介します。
前提として、
- 既に Apple Developer - Member Center の登録が済んでいる
- Apple Developer Center で App ID や Provisioning Profile は作成済み
とします。
リリースに必要なもの
- Apple 開発者用アカウント
- Xcode(App Store からインストール, 過去のバージョンはこちら(要ログイン)よりダウンロード可能)
- Mac 毎の開発者証明書
- Production(リリース用) の Provisioning Profile
事前準備(一度でもリリース申請をしたことがある Mac 端末であればスキップ可)
Apple IDの登録
Apple Developer のアカウントを取得
登録した Apple ID をチームメンバーへ追加
Apple Developer [People] に招待し、Admin権限を付与します。
参考 : iOSDeveloperProgram - 1から始めるiOSチーム開発:Apple Developer Programにメンバーを招待する - Qiita
開発者証明書の登録
リリースするための Mac が、チームの開発者用端末として登録されていることを保証します。
参考 : よく分かる!iOS アプリ開発に必要な証明書ファイルの作成方法
参考 : よく分かる!iOS アプリ開発に必要な証明書ファイルの作成方法 2015年版
Production の Provisioning Profile を取得する
以下のようにすると、一括でインストールが行えます。
- Xcodeを開いて 「Command + ,」
- Accountsタブを選択
- 登録した Apple ID でログイン
- 右下に表示されているチーム名をダブルクリック
- 下記画像の手順を行う
開発者証明書が Mac の「キーチェーンアクセス」に入っていればリリースビルドができます。 Spotlight「Control + Space」または「Mac メニュー画面右上の虫眼鏡アイコン」で「keychain」と打てば確認できます。
ビルド環境構築
ソースコードの取得
各プロジェクトによって決められた、リポジトリやファイルサーバーからリリース用のソースコードを取得してください。
ビルド環境の構築(OSSのインストール)
プロジェクトによって様々ですが、ビルド手順は担当のエンジニアに確認をして下さい。弊社で担当している案件の場合は、 GitHub の README に以下のようにまとめていることが多いです。
## 開発環境 - OS X Yosemite (10.10.x) 以降 - Xcode 7.1 以上 ## セットアップ Homebrewをインストールしていない場合は、先にインストールする。インストール方法については[公式サイト](http://brew.sh/)を参照。 ### CocoaPodsのインストール Bundler をインストールしていない場合は、先に下記コマンドでインストールする。 $ sudo gem install bundler 利用する CocoaPods のバージョンを固定するため、Bundler で CocoaPods をインストール。 $ bundle install --path vendor/bundle ### OSSライブラリのインストール CocoaPods でインストール。 $ bundle exec pod install プロジェクトを開く際には `XXXApp.xcworkspace` を Xcode で開く。 ## 規約 - iOS コーディング規約(リンク) ## プロジェクト構成 - 必要があれば記入
リリース用バイナリの作成
開発環境毎にスキームを設定している場合は変更が必要です。スキームが複数ない場合は不要です。
ターゲットをiOS Device(または接続中の実機)に変更
Xcode メニューの「Product」→「Archive」を選択
作成されたバイナリをApp Storeへ提出する
以降暗号化や広告に関する確認事項が出てくる場合があります。 必要に応じて設定を行ってください。
iTunes Connect で提出されたバイナリを確認
AppStore で表示される情報を登録・変更を行ってリリース準備完了となります。
Try & Error
よくあるエラーケースをまとめます。
複数の Mac でそれぞれ証明書が存在する
Your account already has a valid iOS Distribution certificate
対処法
新しい Mac の証明書で Provisioning Profile を作り直すか、下記の参考サイトのように、p12ファイルを共有する方法があります。
参考 : iPhoneアプリ開発雑記帳 : 複数のMacで開発する際の証明書
iTunes Connect で事前にアプリ登録が済んでいない
Unable to validate your application.
対処法
iTunes Connect で新しいバージョンのアプリ情報を登録しましょう。
古いバージョンの Xcode を使っていて、申請で弾かれる
Unable to validate your application.
対処法
Xcode 付属のツール 「Application Loader」 を使ってアップロードしましょう。
Xcodeのメニューから [Xcode] → [Open Developer Tool] → [Application Loader]
参考 : ついんむーんぶろぐ : the application you have selected does not exist
まとめ
リリースするのに複雑な Xcode の操作を、担当者・お客様に理解しやすいように記事にまとめました。
「iOS リリース」などでググるとたくさん情報が出ますが、古い記事も多かったので書きました。また Xcode のバージョンが新しくなれば更新版を書くかもしれません。
今後リリースする時の参考になれば幸いです。