半年くらい前にAppStoreにリリースしたアプリをバージョンアップする必要があり、OTA配信用のReleaseビルドを行なったのですが、アーカイブ処理がエラーになってしまい、なかなか解決しなくて困っていました。
エラーメッセージは
No provisioning profiles with a valid sigining identity (i.e. certificate and private key pair) were found.
provision_01.png
下半分には下記のように書かれています。
No codesigning identities (i.e. certificate and private key pairs) that match the provisioning profile specified in your build settings (“iOS Team Provisioning Profile: [バンドルID]”) were found. Xcode can resolve this issue by downloading a new provisioning profile from the Member Center.
本当はここに解決へのヒントが書かれているので分かる人が見れば分かるのかもしれませんが、私にはわからず2日ほど浪費してしまいました。
シミュレータや実機をUSB接続していれば普通に動くのですが、アーカイブしようとするとエラーになってしまいます。これは、デバッグ実行とArchiveでは使われるプロビジョニングが別のものなので、実機で何度も確認して、いざアーカイブしようとすると、急にエラーに見舞われてしまうことになります。
まずはダイアログにある「Fix Issue」ボタンをクリックしてみたところ、数秒感の処理が行なわれてプロビジョニングプロファイルの選択が「None」に変わったのですが、エラーは解消しませんでした。プロビジョニング関係についてはあまり理解できていないので、エラーメッセージを元にとりあえず「iOS Team Provisioning Profile: 〜〜」というのを選択してみたりしていたのですが、あてずっぽうではなかなか解決しませんでした。
いろいろ試してみた結果「AppStoreリリース用のプロビジョニングプロファイルを新たに作成し、それを使ってアーカイブする」ことで解決しました。
まず最初に、前回AppStoreに申請した時のアーカイブのバックアップを探して、中身を見てみました。オーガナイザの該当行を右クリックすると「Show in Finder」というメニューが表示されますのでクリックします。拡張子が xcarchive となっているファイルがアーカイブのバックアップになっています。
xcarchive の中身を表示させるために xcarchive ファイルを右クリックして「パッケージの内容を表示」を選択します。plist ファイルが見つかったので開いてみたところ、前回の申請時はプロビジョニングプロファイルとして「iPhone Distribution: [組織名] (AppleID)」が指定されているようでした。
ですが、XcodeのBuild Settingsのページでは、プロビジョニングプロファイルを選択しようにも、「iPhone Distribution: [組織名]」という項目が表示されず、選択することができませんでした。前回の申請時は「iPhone Distribution: [組織名]」で良かったものが、最近のXcodeのバージョンアップでこの辺が変わり、指定する形式が新しくなってしまったのではないかと思います。
というわけで、リリース用のプロビジョニングプロファイルを新しく作成することにしました。iOS Dev Centerにログインして「Certificates, Identifiers & profiles」のページに入り、「Provisioning Profies」の「Distribution」を開きます。
provision_03.png
あとは画面の指示通りに必要事項を入力してプロビジョニングプロファイルを作成し、Macにダウンロードしてダブルクリックして取り込み、Xcodeからアーカイブを行なったら無事に完了しました。
provision_04.png
provision_05.png
provision_06.png
provision_07.png


0件のコメント

コメントを残す

アバタープレースホルダー

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください