facebook twitter hatena line email

「Monaca/実機/iPhone」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(** ARCHIVE FAILED **が出る場合)
行49: 行49:
 
</pre>
 
</pre>
 
ARCHIVE FAILEDは最終的にビルドが失敗したときに出るもので、必ずその上の方にerrorが出てると思うので、そこを確認する。errorを見るとプロビジョニングファイルとAppIdがミスマッチしてるので、証明書かAppIdを直せば良い。
 
ARCHIVE FAILEDは最終的にビルドが失敗したときに出るもので、必ずその上の方にerrorが出てると思うので、そこを確認する。errorを見るとプロビジョニングファイルとAppIdがミスマッチしてるので、証明書かAppIdを直せば良い。
 +
 +
==='IPHONEOS_DEPLOYMENT_TARGET' is set to 4.3===
 +
warning: The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 4.3, but the range of supported deployment target versions is 8.0 to 13.2.99.
 +
以下の様に検索して"IPHONEOS_DEPLOYMENT_TARGET = 4.3が見つかれば、13.2.99に置換する
 +
$ grep "IPHONEOS_DEPLOYMENT_TARGET" ./ -r
 +
ただ、変更しなくても、これは警告なので、ビルドは通った。

2020年8月3日 (月) 15:38時点における版

iPhoneビルド証明書設定

  1. クラウドIDEの設定/iosビルド設定
  2. "秘密鍵とcsrの生成"ボタンをクリック
  3. AppleIdの名前とメールアドレスと国コード(ja)を入力(appleの名前の一部にmonacaといれておいたほうが、わかりやすくて、良いかも)
  4. ios.certSigningRequest(csr)がダウンロードされる。
  5. csrをクリックし、macのLanchear/その他/キーチェーンアクセスから、作成した証明書と公開鍵(cer)と秘密鍵(p12)を書き出す
  6. 書き出したp12のファイルを設定/iosビルド設定にimportする
  7. appleDeveloperサイト( https://developer.apple.com/programs/how-it-works/jp/ )で、CertificatesからAppleDeveloperを選択し、先程DLしたios.certSigningRequest(csr)を登録
  8. monacaの証明書アップロードに、appleからDLしたdevelopment.cerをアップする
  9. appleDeveloperサイトでProifilesからDeveloperで作成し、アプリIdを選択して.mobileprovisionなどのファイルをDLする(ワイルドカード*を使うと In-Appが含まれないので、後のビルドに失敗するので気をつける)
  10. monacaのプロファイルアップロードに、先程DLした.mobileprovisionなどファイルを登録する

デバックビルドや、カスタムビルドをするためには、AppleDistributionだと"ビルドを開始する"が押せないので、AppleDeveloperを選択しないとならない。

参考:https://teratail.com/questions/266712

iPhone実機実行

  1. 上記ビルド証明書をimportする
  2. ビルド/iOSアプリのビルド/デバッグビルドから"ビルドを開始する"が押せるようになってることを確認する。
  3. ビルドが終わったら、ビルド/ビルド結果一覧からダウンロードする。
  4. QRコードからアプリをインストールする。
  5. インストールされたアプリで、monacaログインする。
  6. プロジェクトを選択して起動する。

In-App Purchaseをサポートしてないエラー

error: Provisioning profile "develop monaca all" doesn't support the In-App Purchase capability.
  1. AppleDeveloperサイトのIdentifiersで "In-App Purchase"をサポートしてないidを作ってる可能性があるので、作り直す。
  2. AppleDeveloperサイトで、そのid選択肢、プロファイル(mobileprovision)を作る。
  3. 先程作ったプロファイルをmonacaのiOSビルド設定のプロファイルアップロードからあげる。

その他気をつけること

  • 古いプロファイルがあれば、消す。(消さないとそちらが読み込まれる可能性があるので・・)
  • AppleDeveloperサイトのIdentifiersでワイルドカード付きでidを作ると "In-App Purchase"がサポートされないので、気をつける。

参考:https://www.b4x.com/android/forum/threads/provisioning-profile-developer-doesnt-support-the-in-app-purchase-capability.110120/

Provisioning profile not matchエラーが出た場合

以下のようなエラーが出たら、ビルド画面の プロビジョニングファイルが正しく選択されているか確認する

note: Planning buildnote: Constructing build description error: Provisioning profile "com.mskjgo.hellomonaca1" has app ID "com.mskjgo.hellomonaca2", which does not match the bundle ID "com.mskjgo.hellomonaca1". (in target 'hellomonaca1' from project 'hellomonaca1')

** ARCHIVE FAILED **が出る場合

error: Provisioning profile "develop hellomonaca1" has app ID "com.mskjgo.hellomonaca1", which does not match the bundle ID "com.example.hellomonaca2". (in target 'hellomonaca1' from project 'hellomonaca1')
[12:25:45] warning: The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 4.3, but the range of supported deployment target versions is 8.0 to 13.2.99. (in target 'nanopb' from project 'Pods')
[12:25:45] ** ARCHIVE FAILED **
[12:25:45] xcodebuild: Command failed with exit code 65

ARCHIVE FAILEDは最終的にビルドが失敗したときに出るもので、必ずその上の方にerrorが出てると思うので、そこを確認する。errorを見るとプロビジョニングファイルとAppIdがミスマッチしてるので、証明書かAppIdを直せば良い。

'IPHONEOS_DEPLOYMENT_TARGET' is set to 4.3

warning: The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 4.3, but the range of supported deployment target versions is 8.0 to 13.2.99. 

以下の様に検索して"IPHONEOS_DEPLOYMENT_TARGET = 4.3が見つかれば、13.2.99に置換する

$ grep "IPHONEOS_DEPLOYMENT_TARGET" ./ -r

ただ、変更しなくても、これは警告なので、ビルドは通った。