Hinweis: Ich entwickle mit Xamarin. Ähnliche Frage im Xamarin Forum hier gepostet
Ich erstelle eine App namens " CompanyApp" . Dann habe ich eine App-ID für com.Company.CompanyApp erstellt , zusammen mit dem Distribution Provisioning Profile, das die entsprechende App-ID verwendet. Ich habe die Binärdatei hochgeladen und sie hat einwandfrei funktioniert.
Dann erstellte ich eine Demoversion der App (im Grunde dieselbe App mit kleinen Änderungen, es handelt sich also um dieselbe Lösung und dasselbe Projekt, nur unterschiedliche Einstellungen für die Bundle-Signatur), CompanyAppDemo mit einer neuen App-ID com.Company.CompanyAppDemo , zusammen mit einer neues Distributionsbereitstellungsprofil, das die neue App-ID verwendet. Ich habe die iOS Bundle Signing-Optionen aktualisiert, um das neue Bereitstellungsprofil zu verwenden, und die IPA generiert. Beim Hochladen auf Application Loader wurde jedoch der folgende Fehler angezeigt:
[2015-01-23 16:08:21 SGT] FEHLER: FEHLER ITMS-90164: "Ungültige Codesignaturberechtigungen. Die Berechtigungen in Ihrer App-Bundle-Signatur stimmen nicht mit denen überein, die im Bereitstellungsprofil enthalten sind. Gemäß der Bereitstellung Profil enthält das Bundle einen Schlüsselwert, der nicht zulässig ist: 'TEAMID.com.Company.CompanyApp' für den Schlüssel 'Anwendungskennung' in 'Payload / CompanyApp.app / CompanyApp' "
[2015-01-23 16:08:21 SGT] FEHLER: FEHLER ITMS-90046: "Ungültige Codesignaturberechtigungen. Die Signatur Ihres Anwendungspakets enthält Codesignaturberechtigungen, die unter iOS nicht unterstützt werden. Insbesondere den Wert" TEAMID.com.Company " .CompanyApp 'für Schlüssel' Anwendungs-ID 'in' Payload / CompanyApp.app / CompanyApp 'wird nicht unterstützt. Dieser Wert sollte eine Zeichenfolge sein, die mit Ihrer TEAMID beginnt, gefolgt von einem Punkt'. ', Gefolgt von der Bundle-ID. "
Ich habe tagelang debuggt, um es ohne Erfolg herauszufinden.
Ich frage mich, warum der Fehler, den Application Loader beim Signieren mit dem neuen Profil verursacht hat, auf die ID der ursprünglichen TEAMID.com.Company.CompanyApp anstelle von TEAMID.com.Company.CompanyAppDemo verweist . Ist dies ein Fehler in Xamarin, der ein falsches Bereitstellungsprofil erkennt, oder fehlt mir etwas? Sie benötigen kein anderes Zertifikat für eine andere App, oder?
Beachten Sie, dass ich die Liste der Bereitstellungsprofile in XCode> Einstellungen immer aktualisiert habe, bevor ich die Option iOS Build Signing in Xamarin geändert habe.