アプリ ストア用に作成した iPhone アプリがあります。そこに到達する前に、内部でテストする必要があります。そのため、今週初めに外出し、配布用プロビジョニング プロファイルを入手して、組織内の約 50 台のデバイスにインストールしました。問題ありません。すべてが非常にスムーズに進み、全員が満足していました。そのため、コードを少しクリーンアップし、リファクタリングを行い、少し洗練されたものを追加しました。同時に、ベータ版にさらに多くのデバイスを追加しました (約 10 台の追加ユニット)。そのため、ビルドして 2 番目のベータ版を実行する準備ができたとき、私は外に出て、新しいプロビジョニング プロファイルを取得し、無線によるアドホック展開用にビルドをアーカイブしました。次に、携帯電話 (開発用デバイスでもあります) でアプリをテストしましたが、インストールに失敗しました。オーガナイザーでデバイス コンソールを確認したところ、次のようなエラーが表示されました。<Error>: entitlement 'get-task-allow' has value not permitted by a provisioning profile
. ちょうど 3 日前にアーカイブして展開したとき、エンタイトルメント plist がなくても問題なく動作したという事実は気にしないでください。それで、「OK、それらの癖の1つにすぎない」と思いました。Entitlements.plist を追加し、に設定しget-task-allow
ましたYES
。次に、ディストリビューション プロビジョニング プロファイルを使用して再アーカイブし、デバイスにインストールしようとしたところ、正しくインストールされました。次に、火曜日に正常に展開したときにインストールされていたデバイスとインストールされていないデバイスの 2 つの別々のデバイスで試しました。どちらも機能しませんでした。ほぼ最後まで行ってから「インストールに失敗しました」と言うようなことをしました。だから私は「OK、それは Entitlements.plist ファイルが好きではありません。私はいくつかのことを読みました。ビルドに Entitlements.plist がある場合、Apple は App Store 向けのアプリを拒否すると言っています (本当ですか? このばかげたベータ版を再開できる場合は、来週の終わりに提出したいと思います!) 私は削除しますファイルをアーカイブして再度展開すると、同じエラーが発生しました。デバイスの 1 つをオーガナイザーのコンソールに接続したところ、次のようなエラー メッセージが表示されました。
Jun 29 08:49:13 unknown installd[14394] <Error>: profile not valid: 0xe8008012
Jun 29 08:49:13 unknown installd[14394] <Error>: 00381000 install_embedded_profile: Could not install embedded profile: -402620398
Jun 29 08:49:13 unknown installd[14394] <Error>: 00381000 verify_signer_identity: Could not copy validate signature: -402620395
Jun 29 08:49:13 unknown installd[14394] <Error>: 00381000 preflight_application_install: Could not verify executable at /var/tmp/install_staging.PHE3Kj/foo_extracted/Payload/Lenexa.app
Jun 29 08:49:13 unknown installd[14394] <Error>: 00381000 install_application: Could not preflight application install
Jun 29 08:49:13 unknown installd[14394] <Error>: 00381000 handle_install: API failed
Jun 29 08:49:13 unknown installd[14394] <Error>: 00381000 send_message: failed to send mach message of 71 bytes: 10000003
Jun 29 08:49:13 unknown installd[14394] <Error>: 00381000 send_error: Could not send error response to client
エラーを調べた0xe8008012
ところ、プロビジョニング プロファイルが XCode で正しく設定されていることを確認し、プロビジョニング プロファイルの UDID がインストールしようとしているデバイスと一致していることを確認する必要があると人々が言っていることに気付きました。
これを念頭に置いて、火曜日に正常に展開したのと同じプロビジョニング ファイルに対してビルドすることにより、UDID の問題ではないことを確認するためにテストを行いました。まだ行きません。
build-settings のすべてのコード署名セクションを次のように変更しました。
一部の人々が XCode でプロジェクトを再構築したと読みました。そうすることは避けたいと思います。誰にもアイデアはありますか?よろしくお願いします!