署名者は有効なエラーではありません
-
13-09-2019 - |
質問
アプリのアドホックビルドを作成しましたが、他の人にインストールしてほしいと思っています。プロビジョニングプロファイルにデバイス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にドロップし、同期してアプリを正常にインストールしました。私はそれを私のためにreproすることができません。この問題を把握するには、この問題を局所的に再現する必要があります。それがどのようにできるかというアイデアはありますか?
解決
資格を追加しましたか?プロジェクトレベルではなく、目標レベルで署名を配置しますか?アドホックプロファイルを選択しますか?ビルドの前にきれいになりますか?ビルドに敵対するアドホックデバイスを選択しますか?
最善の策は、Appleのドキュメントに従うことです まさに, 、ビルド設定を取得します まさに Appleのマッチ。
他のヒント
UIDがそこにあることを確認するために、.appファイルにバンドルされたimbedded.mobileprovisionファイルを確認することをお勧めします。次のことを行うだけです。
- unzip qualthapp.ipa
- CD Payload/compoistApp.app
- pico imbedded.mobileprovision
このファイル内のデバイスのUIDを探してください。そこにない場合は、おそらくポータル内のプロビジョニングファイルに追加されていません。
ドキュメントから:
アドホックディストリビューション用のアプリの構築は、2つの追加手順を除き、App Store配布用のアプリの構築に似ています。まず、アドホックディストリビューションプロビジョニングプロファイルを作成し、iPhone開発者プログラムプロビジョニングポータルの使用に配布するiOSデバイスの乳化体を追加する必要があります。次に、コード署名資格ファイルを作成する必要があります。資格ファイルを作成する方法については、iOS開発ガイドのマネージングアプリケーション資格セクションをお読みください。
アプリケーション資格の管理
iOSは、資格と呼ばれるプロパティを通じて、アプリケーションをデバッグできるかどうかなど、特別なリソースと機能へのアクセスを提供します。アプリケーションで資格情報を指定するには、プロジェクトに資格定義(キー/値ペア)を含む資格のあるプロパティリストファイルを追加します。アプリケーションを作成すると、Xcodeはファイルを生成されたアプリケーションバンドルにコピーします。
プロジェクトに資格のあるプロパティリストファイルを追加するには:
グループとファイルのリストで、リソースグループを選択します。 [ファイル]> [新しいファイル]を選択します。 iOS> [コード署名]> [資格]テンプレートを選択します。ファイルのaTITLEMENTS.PLISTに名前を付けます。 (任意の名前を使用できます。このセクションで説明したように、コード署名資格のビルド設定の値と一致するようにしてください。)プロパティリストファイルのタイプをiPhoneの資格に設定します。ファイルがテキストエディターで選択されている場合、[表示]> [プロパティリストタイプ]> [iPhoneの資格] Plistを選択します。
資格エントリをファイルに追加します。資格プロパティごとに定義する必要があります。
子を追加するか、選択した行の右側に兄弟ボタンを追加します。 Add Childボタンには、階層を描いた3つの線があり、Add Siblingボタンにはプラス(+)サインが付いています。表示されるポップアップメニューから資格プロパティを選択します。追加する必要がある資格がメニューに表示されない場合は、[ファイルタイプの[表示]> [プロパティ]タイプ>デフォルトを選択します。次に、資格のある名前とタイプを入力します。
プロパティの値を入力します。ターゲットのコード署名資格のビルド設定を、新しく追加された資格のあるProperty-Listファイルの名前に設定します。
資格ファイルを作成し、コード署名の資格のビルド設定に追加した後、資格のファイルを開き、Get-Task-Allowキーを追加または編集してfalseに設定します。
.appバンドルを圧縮してアドホックビルドをテスターなどに配布することに加えて、特定の電子メールクライアントとサーバーがプロビジョニングプロファイルを破損する可能性があるため、配布前にプロビジョニングプロファイルも圧縮することをお勧めします。
アドホック配布の詳細については、iOS開発ガイドのテストセクションの公開アプリケーションをお読みください。
最近、最近のビルドで1人のテスターとこの問題に遭遇しました。私のテスターがiPod Touchをリセットし、プロセスでプロビジョニングプロファイルを削除したことが判明しました。
考慮すべきことだけです。
他の誰よりも馬鹿げたことをすることで、このエラーが発生しました。プロファイルに新しいデバイスを追加しましたが、更新されたバージョンをダウンロードし、Xcodeに追加し、プロジェクトをポイントするのを忘れていました。適切にセットアップすると、テスターはアプリを正常にインストールすることができました。
これが別の楽しいものです.... iPhoneとiPad用の個別の資格ファイルがある場合は、特定のビルドごとにファイルのターゲットを設定してください...それ以外の場合はビルドに表示されず、これを取得しますエラー
OPと同じ問題があったので、ここに到着しました。実際、Xcodeオーガナイザーで更新を使用していると確信していても、私は資格ファイルにudidを持っていなかったことがわかりました。別のリフレッシュは違いを生みませんでした。
最終的に、すべてのプロビジョニングプロファイルを削除しました それから リフレッシュしました。物事は今機能しています。
これが私のセットアップのグリッチなのか、それともオペレーターエラーなのかはわかりません。しかし、他の誰かがこの状況で自分自身を見つけた場合に備えて、プロビジョニングプロファイルを削除してから更新を行うことができます。
これは、iOS 3.1.3を実行しているiPhone 3Gでは機能しません。設定 - >一般を見ることで、配布プロファイルが電話にいないことを確認しました(リストに記載されているプロファイルオプションはありませんでした)。
次に、iPhone構成ユーティリティをインストールしました。
http://support.apple.com/kb/dl851
それで:
- iPhone Configを実行します
- 埋め込まれた。MobileProvisionファイルをアプリにドラッグアンドドロップします
- 左側のデバイスをクリックします
- プロビジョニング]タブをクリックします
- プロファイルをクリックしてから、[インストール]ボタンをクリックします
その後、アプリは正常にインストールされました。
私もOPと同じ問題を抱えていました。愚かな間違い:私は誤って最後の2桁をデバイスから登録しようとしていたデバイスから誤って落としました。
私は同じ問題を2回受けました( xcode 4.2 ios 5
)
1日、アーキテクチャにARMv6を追加するのを忘れた時
2番目に、バンドル識別子の使用に応じて他のキーチェーンを削除する必要があるのと同じ開発者IDを持つ多くのプロビジョニングファイルに作成した時間...そして、誤って有効に削除し、他のKechainを使用しました