Frage FEHLER ITMS-90164/90046: Ungültige Code Signing-Berechtigungen


Hinweis: Ich entwickle mit Xamarin. Ähnliche Frage im Xamarin Forum gepostet Hier

Ich erstelle eine App namens "Sag" UnternehmensApp. Dann habe ich eine App ID dafür erstellt com.Company.CompanyApp, zusammen mit dem Verteilungsprovisionsprofil, das die entsprechende App-ID verwendet. Ich habe die Binärdatei hochgeladen und es funktionierte einwandfrei.

Dann habe ich eine Demo-Version der App erstellt (im Grunde die gleiche App mit kleinen Änderungen, also ist es die gleiche Lösung und das gleiche Projekt, nur eine andere Einstellung für die Bundle-Signierung), FirmaAppDemo mit einer neuen App-ID com.Company.CompanyAppDemozusammen mit einem neuen Verteilungsprovisionsprofil, das die neue App-ID verwendet. Ich habe die iOS-Bundle-Signierungsoptionen aktualisiert, um das neue Bereitstellungsprofil zu verwenden, und die IPA generiert. Aber als ich dies auf den Application Loader hochgeladen habe, habe ich folgende Fehlermeldung erhalten:

[2015-01-23 16:08:21 SGT] FEHLER: FEHLER ITMS-90164: "Ungültiger Code   Unterzeichnungsansprüche. Die Berechtigungen in Ihrer App-Bundle-Signatur tun dies   stimmen nicht mit denen überein, die im Bereitstellungsprofil enthalten sind.   Entsprechend dem Bereitstellungsprofil enthält das Paket einen Schlüsselwert   das ist nicht erlaubt: 'TEAMID.com.Company.CompanyApp' für den Schlüssel   'Anwendungs-ID' in 'Payload / CompanyApp.app / CompanyApp' "

[2015-01-23 16:08:21 SGT] FEHLER: FEHLER ITMS-90046: "Ungültiger Code   Unterzeichnungsansprüche. Die Signatur Ihres Anwendungspakets enthält   Codesignaturberechtigungen, die auf iOS nicht unterstützt werden. Speziell,   Wert 'TEAMID.com.Company.CompanyApp' für den 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 Bündelkennung. "

Ich habe seit Tagen debugging, um vergeblich herauszufinden.

Ich frage mich, warum, als ich mit dem neuen unterschrieb Profil, bezieht sich der Fehler, den Application Loader warf, auf die ID des Originals TEAMID.com.Company.CompanyApp Anstatt von TEAMID.com.Unternehmen.UnternehmenAppDemo? Ist das ein Fehler in Xamarin, der ein falsches Provisioning-Profil aufgreift oder mir etwas fehlt? Du brauchst kein anderes Zertifikat für verschiedene App, oder?

Beachten Sie, dass ich die Liste des Bereitstellungsprofils in XCode> Einstellungen immer aktualisiert habe, bevor ich die iOS Build Signing-Option in Xamarin änderte.


74
2018-01-23 09:33


Ursprung


Antworten:


Wenn jemand hier auf der Suche nach ERROR ITMS-90046 wie mir kommt, war meine Lösung, es zu bereinigen und alle vorkompilierten Frameworks (die benutzerdefinierten) zu löschen und dann erneut zu erstellen.

Hinweis: Die Fehlerbeschreibung sagt etwas über den Schlüssel "aps-environment" als "development" aus.

Edit: The actual error message


132
2018-03-13 13:44



Ich hatte das gleiche Problem und löste es mit einem einfachen Produkt -> Sauber.


62
2018-03-03 15:58



Wenn jemand hier durch Suche nach beiden Fehlern kommt ITMS-90164 und Fehler ITMS-90046 mit get-task-allowund Asp-Umgebung Schlüssel:

1

Wie David P sagte, a Produkt -> Sauber bevor ein neues Archiv mein Problem gelöst hat.

Ich möchte nur hinzufügen, dass ich in meinem Fall festgestellt habe, dass das fehlerhafte X-Archiv folgende Datei nicht enthält:

2

Bevor Sie dieses .xarchive zur Produktionssignatur an Ihren Client senden, sollten Sie nach der Datei architected-expanded-properties.xcent suchen und sicher sein, dass sie da ist.


19
2018-06-14 23:00



Endlich nach 2 Wochen Haare ziehen ..

Aus bestimmten Gründen, wenn in der Entitlement.plist, auf die festgelegt ist, keine Schlüssel-Anwendungskennung vorhanden ist TEAMID.com.Unternehmen.UnternehmenAppDemoVerwendet Xamarin den ursprünglichen Anwendungsidentifikator, d.h. TEAMID.com.Company.CompanyApp

Daher bestand die Lösung darin, einen Anwendungsidentifikator hinzuzufügen, der die richtige Anwendungsbündel-ID innerhalb von Entitlements.plist angibt. Fügen Sie dann das Paket in die Buildoptionen> iOS-Bundle-Signierung ein.


16
2018-01-27 06:43



Das gleiche Problem und mit einem einfachen gelöst Produkt -> Sauber.


8
2018-06-27 12:03



Dies kann auch daran liegen, dass Sie einem neuen Vertrag in iTunes Connect zustimmen müssen. Melden Sie sich bei iTunes an und Sie sollten oben ein Banner sehen, das Sie auffordert, der letzten Vertragsänderung zuzustimmen.


5
2017-09-22 09:41



Für mich bestand das Problem in einer Entitlements.plist, die automatisch hinzugefügt wurde und leer war. Es wurde aus dem Feld Benutzerdefinierte Berechtigungen entfernt und das Problem wurde behoben.

View of the iOS Bundle Signing on Visual Studio 2015


4
2018-04-03 11:29



Wenn Sie vor dem Packen nicht das entsprechende Freigabezertifikat auswählen, wird ERROR ITMS-90164 gemeldet

Build Einstellung -> die Code Signing Identität -> Release -> Any IOS SDK


3
2018-02-17 05:48



Stellen Sie sicher, dass Sie beim Archivieren das App-Ziel und nicht die WatchKit-App ausgewählt haben.


2
2018-04-07 12:00