cordovaで作ったアプリをiosでリリースするまでの手順まとめ
iosのアプリをリリースするにはxcodeを挟まなければいけない。
xcodeでプロジェクトファイルを開く。プロジェクトファイルはアプリフォルダ>platforms>ios>アプリ名.xcodeprojの場所にある。
xcode上で編集した場所
1.plist
cordova内ではこのファイルはどこにあるか見当たらなかった。
xcodeでプロジェクトを開いたところで編集できる。場所はResources>アプリ名-Info.plist
Privacy - Photo Library Usage Descriptionについては、アプリ内では使っていないと思うんだけど、リリースビルドをアップロードしたらApp Store Connectから
「Missing Purpose String in Info.plist File」という内容でメールが来たので追記した。
追記した項目
Localization native development region:Japan Bundle display name:アプリ名 ※config.xmlの内容が反映されていた Bundle identifier:id ※config.xmlの内容が反映されていた Privacy - Microphone Usage Description:Valueをに使徒を記載 Privacy - Photo Library Usage Description:Valueをに使徒を記載
2.General
Signing(Release)のところでprovisioning Profileを設定
3.Build Setting
provisioning Profileを設定
Development版のprovisioning Profile作成
2.3で設定する証明書についてDevelopmentでビルドするときには以下の手順で動作した。
■キーチェーンアクセスで証明書を発行
キーチェーンアクセス>証明書アシスタント>認証局に証明書を要求
必要情報を入力
ユーザーのメールアドレス ・・・AppleDeveloperのメールアドレス 通称 ・・・アプリのエイリアス CAのメールアドレス ・・・空欄 要求の処理 ・・・ディスクに保存と鍵ペア情報を指定を選択
■DeveloperProgramでCertificates, Identifiers & Profilesから証明書を作成する
Certificates>Allを選択
+ボタンを押下してiOS App Developmentを選択してContinue
Upload CSR file.からここでは先ほど作成したCSRを登録してContinue
■DeveloperProgramで新規のappIDを登録する
Identifiers>App IDsを選択
+ボタンを押下して必要事項を入力してContinue
■DeveloperProgramでprovisioning Profileを作る
※開発用のデバイスを登録していない場合には先にDevicesから端末の登録が必要
Provisioning Profile>Allを選択
+ボタンを押下してiOS App Developmentを選択してContinue
先ほど登録したappIDを選択してContinue
先ほど登録したCertificatesを選択してContinue
開発用のデバイスを選択してContinue
Provisioning Profileの名前を設定する
■xcodeで作成した証明書を入れてビルドする
ライトニングケーブルで繋いだ端末に向けてビルドする。
ビルドするときに端末側にProvisioning Profileがないと怒られるので、端末側にもProvisioning Profileを設定する。
Xcode>Window>Devices and Simulators
Connectedで表示されるデバイスをControlを押しながらクリックShow Provisioning Profileを選択
+ボタンから作成した Provisioning Profileを選択してインストール
これで実機でのビルドができるようになる。
参考にしたブログ
https://qiita.com/nogson/items/adeca053de0621064118
Release版のprovisioning Profile作成
2.3で設定する証明書についてReleaseでビルドするとDevelopmentでリリースした時と同じやり方で作ったファイルだとエラーが発生する。
No signing certificate "iOS Distribution" found No "iOS Distribution" signing certificate matching team ID “*************" with a private key was found.
理由がわからず、最初からファイルを作り直して登録したりして四苦八苦していたけど、原因はApple IDを複数台で使い回すときメインマック以外で秘密鍵を作ってprovisioningファイルを登録するとエラーが出るということだった。
■メインで使っているMacからp12形式で証明書を書き出し
メインで使っているMacのキーチェーンアクセスからRelease版用に作った証明書を選択して個人情報交換 .p12の形式で書き出す。
パスワードは2台目に証明書を入れるときに必要になります。
■2台目Macでp12形式フィルを読み込んで証明書登録
メインMacで書き出した.p12ファイルを2台目Macに送って.p12ファイルをダブルクリック。
キーチェーンアクセスが起動して証明書が登録されます。
■Provisioning Profileを作成
作成する際にp12ファイルを受け渡してもらった証明書を選択して作成する。
証明書が揃った状態になるので、Release版のProvisioning Profileを登録してもエラーが出なくなった。
参考にしたブログ
https://makotton.com/2014/10/24/625
iosのリリースビルド
■xcodeでArchiveを作成してリリース
ビルドのデバイスでGeneric iOS Deviceを選んで、Product> Archiveを選択する。
エラーが出なければそのままValidate Appを選択する。
Distribute AppでiOS App Store、Uploadをそれぞれ選択してUploadする。
問題なけれなばApp Store Connectでビルドファイルが30分から1時間後にはみれるということだが、半日待ってもアップされなかった。メールを見てみると冒頭に記載したplistに追加してねの通知が来ていたので、plistに追記をすると問題なくuploadされ、ビルドファイルを選択することできた。