注:私はXamarinを使用して開発しています。Xamarinフォーラムに投稿された同様の質問こちら
CompanyAppという名前のアプリを作成しています。次に、対応するアプリIDを使用する配布プロビジョニングプロファイルとともに、com.Company.CompanyAppのアプリIDを作成しました。バイナリをアップロードしましたが、問題なく動作しました。
次に、アプリのデモバージョン(基本的に同じアプリに少し変更を加えたものなので、同じソリューションとプロジェクトで、バンドル署名設定が異なるだけです)、新しいアプリIDcom.Company.CompanyAppDemoを使用してCompanyAppDemoを作成しました Aと一緒に、新しいアプリIDを使用する新しい配布プロビジョニングプロファイル。新しいプロビジョニングプロファイルを使用するようにiOSバンドル署名オプションを更新し、IPAを生成しました。しかし、これをApplication Loaderにアップロードすると、次のエラーが発生しました。
[2015-01-23 16:08:21 SGT]エラー:エラーITMS-90164: "無効なコード署名資格。アプリバンドル署名の資格が、プロビジョニングプロファイルに含まれている資格と一致しません。プロビジョニングによるとプロファイルの場合、バンドルには許可されていないキー値が含まれています:「Payload / CompanyApp.app / CompanyApp」のキー「application-identifier」の「TEAMID.com.Company.CompanyApp」
[2015-01-23 16:08:21 SGT]エラー:エラーITMS-90046: "無効なコード署名資格。アプリケーションバンドルの署名に、iOSでサポートされていないコード署名資格が含まれています。具体的には値 'TEAMID.com.Company 'Payload / CompanyApp.app / CompanyApp'のキー 'application-identifier'の.CompanyApp 'はサポートされていません。この値は、TEAMIDで始まり、ドット'。 '、バンドルIDが続く文字列である必要があります。
私は何日もデバッグを続けて、役に立たないことを理解しました。
私は新しいプロファイルで署名する場合、アプリケーションローダーが投げたというエラーが元のIDを参照してくださいなぜ私が疑問に思ってTEAMID.com.Company.CompanyAppの代わりにTEAMID.com.Company.CompanyAppDemoですか?これは、間違ったプロビジョニングプロファイルを取得するXamarinのバグですか、それとも何かが足りませんか?アプリごとに異なる証明書は必要ありませんよね?
XamarinのiOSビルド署名オプションを変更する前に、XCode> Preferenceのプロビジョニングプロファイルリストを常に更新していることに注意してください。