15

アプリのアドホック ビルドを作成しましたが、別の人にインストールしてもらいたいと考えています。プロビジョニング プロファイルにデバイス ID (実際には 2 つ) があります。私の証明書は、アドホック プロビジョニングとアプリ ストア プロビジョニングで同じです。証明書はキーチェーンで有効です。このビルド用に Xcode でアドホック プロファイルを選択しました。これは配布証明書にリンクされています。

ユーザーにプロビジョニング ファイルと .app ファイルを送信します。両方を iTunes にドロップして同期すると、両方のデバイスで次のエラーが発生します。

The application "myapp" was not installed on the iPhone "user's iPhone" because the signer is not valid.

iPhone からすべてのプロファイルを削除し、上記の 2 つのファイルを iTunes にドロップし、同期して、アプリを正常にインストールしました。私はそれを再現することができません。問題を解決するには、この問題をローカルで再現する必要があります。それを行う方法はありますか?

4

10 に答える 10

16

エンタイトルメントを追加しましたか? プロジェクト レベルではなく、ターゲット レベルで署名を行いますか? アドホック プロファイルを選択しますか? ビルド前にクリーニングを行いますか? ビルドのアドホック デバイスを選択しますか?

最善の策は、Apple のドキュメントに正確に従い、ビルド設定をApple のものと正確に一致させることです。

于 2009-12-07T12:04:55.077 に答える
6

.app ファイルにバンドルされている embedded.mobileprovision ファイルをチェックして、UID がそこにあることを確認することをお勧めします。次の手順を実行してください。

  1. ProblemApp.ipaを解凍します
  2. cd ペイロード/ProblemApp.app
  3. pico 組み込み.mobileprovision

このファイル内でデバイスの UID を探します。そこにない場合は、ポータル内のプロビジョニング ファイルに追加されていない可能性があります。

于 2010-12-17T15:53:13.913 に答える
4

ドキュメントから:

アドホック配布用のアプリの作成は、2つの追加手順を除いて、AppStore配布用のアプリの作成と似ています。まず、アドホック配布プロビジョニングプロファイルを作成し、iPhone Developer ProgramProvisioningPortalを使用して配布するiOSデバイスのUDIDを追加する必要があります。次に、コード署名エンタイトルメントファイルを作成する必要があります。エンタイトルメントファイルを作成する方法については、iOS開発ガイドの「アプリケーションエンタイトルメントの管理」セクションを参照してください。


アプリケーション資格の管理

iOSは、エンタイトルメントと呼ばれるプロパティを介して、アプリケーションをデバッグできるかどうかなど、特別なリソースと機能へのアクセスを提供します。アプリケーションでエンタイトルメント情報を指定するには、エンタイトルメント定義(キーと値のペア)を含むエンタイトルメントプロパティリストファイルをプロジェクトに追加します。アプリケーションをビルドすると、Xcodeはファイルを生成されたアプリケーションバンドルにコピーします。

エンタイトルメントプロパティリストファイルをプロジェクトに追加するには:

[グループとファイル]リストで、[リソース]グループを選択します。[ファイル]>[新しいファイル]を選択します。iOS>コード署名>資格テンプレートを選択します。ファイルにEntitlements.plistという名前を付けます。(任意の名前を使用できます。このセクションで後述するように、コード署名資格ビルド設定の値と一致することを確認してください。)プロパティリストファイルのタイプをiPhone資格に設定します。テキストエディタでファイルを選択した状態で、[表示]>[プロパティリストタイプ]>[iPhoneエンタイトルメント]plistを選択します。

資格エントリをファイルに追加します。エンタイトルメントプロパティごとに、以下を定義する必要があります。

選択した行の右側にある[子の追加]または[兄弟の追加]ボタンをクリックします。[子の追加]ボタンには階層を表す3本の線があり、[兄弟の追加]ボタンにはプラス(+)記号が付いています。表示されるポップアップメニューからエンタイトルメントプロパティを選択します。追加する必要のある資格がメニューに表示されない場合は、[表示]>[プロパティリストタイプ]>[ファイルタイプのデフォルト]を選択します。次に、エンタイトルメントキーの名前とタイプを入力します。

プロパティの値を入力します。ターゲットのコード署名エンタイトルメントビルド設定を、新しく追加されたエンタイトルメントプロパティリストファイルの名前に設定します。


エンタイトルメントファイルを作成し、それをコード署名エンタイトルメントビルド設定に追加したら、エンタイトルメントファイルを開き、get-task-allowキーを追加または編集して、falseに設定します。

.appバンドルを圧縮してアドホックビルドをテスターなどに配布することに加えて、特定の電子メールクライアントとサーバーがプロビジョニングプロファイルを破損する可能性があるため、配布する前にプロビジョニングプロファイルも圧縮することをお勧めします。

アドホック配布の詳細については、iOS開発ガイドの「テスト用アプリケーションの公開」セクションをお読みください。

于 2010-12-03T03:04:18.817 に答える
3

私は最近、最近のビルドで 1 人のテスターでこの問題に遭遇しました。私のテスターが iPod Touch をリセットし、その過程でプロビジョニング プロファイルを削除したことが判明しました。

考慮すべきことだけです。

于 2010-07-18T08:34:24.240 に答える
2

他の誰かが投稿したよりも愚かなことをして、このエラーが発生しました。プロファイルに新しいデバイスを追加しましたが、更新されたバージョンをダウンロードし、それを Xcode に追加して、プロジェクトでそれを指すようにするのを忘れていました。適切にセットアップすると、テスターはアプリを正常にインストールできました。

于 2010-11-23T02:47:12.603 に答える
1

OPと同じ問題があったので、ここにたどり着きました。XCodeオーガナイザーで更新を使用したことは確かですが、資格ファイルにUDIDがないことが実際に判明しました。別のリフレッシュでは違いはありませんでした。

最後に、すべてのプロビジョニング プロファイルを削除してから、更新を行いました動作するようになりました。

これがセットアップの不具合なのか、オペレーターのエラーなのか、私にはわかりません。ただし、他の誰かがこの状況に陥った場合に備えて、プロビジョニング プロファイルを削除してから更新することをお勧めします。

于 2011-08-04T20:40:03.623 に答える
1

これは別の楽しいものです.... iPhone と iPad に別々の資格ファイルがある場合は、特定のビルドごとにファイルのターゲットを設定してください...そうしないと、ビルドに表示されず、これを取得しますエラー

于 2011-01-09T00:02:15.927 に答える
0

私もOPと同じ問題を抱えていました。ばかげた間違い:デバイスとして登録したときに、アドホック配布しようとしていたデバイスから誤って最後の2桁を削除しました。

于 2011-08-13T23:43:10.913 に答える
0

これは、IOS 3.1.3 を実行している iphone 3G では機能しません。設定 - >一般を見て、配布プロファイルが電話にないことを確認しました(プロファイルオプションがリストされていませんでした)。

次に、iphone 構成ユーティリティをインストールしました。

http://support.apple.com/kb/DL851

それで:

  1. iphoneの設定を実行
  2. embedded.mobileprovision ファイルをアプリにドラッグ アンド ドロップします
  3. 左側のデバイスをクリック
  4. 「プロビジョニング プロファイル」タブをクリックします
  5. プロファイルをクリックし、「インストール」ボタンをクリックします

その後、アプリは問題なくインストールされました。

于 2011-02-07T02:48:10.993 に答える
0

同じ問題が 2 回発生しました ( xcode 4.2 ios 5)

第 1 に、アーキテクチャに armv6 を追加するのを忘れていました。

2番目に、同じ開発者IDを持つ多くのプロビジョニングファイルを作成したとき、バンドル識別子の使用に応じて他のキーチェーンを削除する必要があります...そして、誤って有効なキーチェーンを削除して他のキーチェーンを使用しました

于 2012-04-11T07:40:10.473 に答える