Jetzt versuche ich das Produkt> Archiv meiner iOS-App zu übermitteln. Ich erhalte jedoch folgende Fehler:
AppName hat widersprüchliche Bereitstellungseinstellungen. AppName wird automatisch für die Entwicklung signiert, aber eine in Konflikt stehende Codesignaturidentifikation wurde von iPhone Distribution manuell angegeben. Setzen Sie den Code-Signaturidentitätswert im Build-Einstellungseditor auf
iPhone Developer
, oder wechseln Sie im Projekteditor zur manuellen Signatur .`Für den Produkttyp 'Anwendung' im SDK 'iOS 10.1' ist eine Codesignatur erforderlich
Die Situation wird sich nicht ändern, selbst wenn ich einen ganzen Vorgang zum Wiederherstellen von iOS-Zertifikaten oder eines Bereitstellungsprofils wiederholt habe.
Ich wurde als iOS Distribution
in TARGETS > Code Signing Identity > Release > Any iOS SDK
eingestellt. Wenn ich hier die Einstellung als iOS Developer
und die Einstellung in PROJECTS > Code Signing Identity > Release > Any iOS SDK
als iOS Distribution
änderte, ist es mir gelungen, zu archivieren. Ich frage mich, ob es notwendig ist, iOS Distribution
im Ziel-Editor festzulegen oder nicht. Und wenn es obligatorisch ist, lassen Sie mich bitte wissen, wie ich diesen Fehler umgehen kann.
Meine XCode-Version ist 8.1.
Ich hatte den gleichen Fehler, hatte aber bereits die Option zum automatischen Verwalten der Signatur aktiviert.
Die Lösung bestand darin, das Häkchen aufzuheben, es erneut zu prüfen und das Team erneut auszuwählen. Xcode hat dann das Problem behoben, das das Problem selbst verursacht hat.
Ich hatte das gleiche Problem. Ich bemerkte, dass Sie, wenn Sie Ihre iOs-App veröffentlichen und im App Store veröffentlichen möchten, nicht die "Code Signing Identity" als Veröffentlichung veröffentlichen möchten iOs-Entwickler.
Gehen Sie zu Ihrem Projekt -> Build-Einstellungen -> Code Signing Identity und übergeben Sie alles dem Entwickler von iOs.
Sie überdenken das alles. In Xcode 8 ist der Prozess enorm verbessert und extrem einfach. Nutzen Sie diese Tatsache.
Schritt eins: Versuchen Sie auf keine Weise, die Einstellungen für die Codesignatur in den Build-Einstellungen festzulegen. Geh nicht in die Nähe von ihnen. Sie werden das absolut vermasseln. Bearbeiten Sie stattdessen das Ziel und erledigen Sie die gesamte Arbeit im Bereich Allgemein. Beste Vorgehensweise: Richten Sie sich für die automatische Codesignatur ein. Geben Sie einfach Ihr Team ein und aktivieren Sie das Kontrollkästchen wie folgt:
Zweiter Schritt: Stellen Sie sicher, dass Sie eine iOS-Verteilungsidentität (Zertifikat) haben. Sie können dies unter Xcode-Voreinstellungen> Konten, Details anzeigen überprüfen. Zu diesem Zeitpunkt wäre es auch eine gute Idee, zum Member Center zu gehen und sich eine App Store App für mobile Apps für diese App zu besorgen.
Schritt drei: Wählen Sie als Ziel "Generic iOS Device" und wählen Sie Product> Archive. Die App wird kompiliert, das Archiv wird erstellt und Sie können jetzt den App Store einreichen.
Für diejenigen, die von Ionic oder Cordova kommen, können Sie Folgendes versuchen:
Öffnen Sie die Datei yourproject/platforms/ios/cordova/build-release.xcconfig
und ändern Sie davon:
CODE_SIGN_IDENTITY = iPhone Distribution
CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Distribution
das sehr gut finden:
CODE_SIGN_IDENTITY = iPhone Developer
CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Developer
und versuchen Sie, ios cordova build ios --release
erneut auszuführen, um einen Release-Build zu kompilieren.
Wenn Sie so etwas bekommen:
App weist widersprüchliche Bereitstellungseinstellungen auf. Die App wird automatisch signiert, aber das Bereitstellungsprofil 'ID' wurde manuell angegeben. Setzen Sie den Wert für das Bereitstellungsprofil im Build-Einstellungs-Editor auf "Automatisch", oder wechseln Sie im Projekt-Editor zur manuellen Signatur.
dann stellen Sie sicher , dass Sie die leere Option PROVISIONING_PROFILE in Ziel Build Einstellungen :
Wenn Sie aus der ionischen Welt sind. Wenn Sie sich in der Phase "Archivieren" befinden, wird möglicherweise eine Fehlermeldung "Konfliktcode-Signatur" angezeigt:
... wird automatisch für die Entwicklung signiert, aber ein in Konflikt stehender Code Signatur signieren iPhone Distribution wurde manuell angegeben. Einstellen Der Code-Signaturidentitätswert für "iPhone Developer" im Build Einstellungseditor oder wechseln Sie im Projekteditor zum manuellen Signieren . Die Codesignatur ist für den Produkttyp 'Application' in SDK 'iOS erforderlich 10.x '
In diesem Fall gehen Sie bitte zu Build-Einstellungen/unter Signieren, geben Sie die Signieridentität ein und wählen Sie sowohl iOS Developer als auch Distribution aus.
Wechseln Sie erneut in das Menü Produkt/Archiv. Das Problem wird behoben.
Für diejenigen, die von Ionic oder Cordova kommen, können Sie Folgendes versuchen: Trennen Sie Ihre ios-Geräte vor ios cordova build ios --release
vom Computer (scheint das Zielgerät für die Xcode-Signatur zu ändern).
Vergiss nicht, dies zu tun,
Wählen Sie das Projekt -> Einstellungen erstellen. Suchen Sie nach PROVISIONING_PROFILE und löschen Sie jeglichen Unsinn.
Versuchen Sie eine der folgenden Möglichkeiten
ionic cordova platform rm ios
ionic cordova platform add ios
ionic cordova build ios --release
Die Lösung bestand darin, das Häkchen aufzuheben, es erneut zu prüfen und das Team erneut auszuwählen. Xcode hat dann das Problem behoben, das das Problem selbst verursacht hat.
Das machte für mich keinen Sinn, da ich das Projekt so eingestellt hatte, dass es automatisch in Xcode signiert. Wie Sie funktionierte das Aktivieren und Deaktivieren nicht. Dann las ich den zuletzt angegebenen Dateipfad und folgte ihm. Der Dateipfad lautet APP> Plattformen> ios> Cordova> build-release.xconfig
In der Datei ist iPhone Distribution explizit für CODE_SIGN_IDENTITY festgelegt.
Veränderung:
CODE_SIGN_IDENTITY = iPhone Distribution
CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Distribution
Zu:
CODE_SIGN_IDENTITY = iPhone Developer
CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Developer
Suchen Sie die .xcodeproj-Datei und öffnen Sie sie mit einem Texteditor
Suchen Sie nach Feldern und machen Sie sie so
CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY [sdk = iphoneos *]" = "iPhone Developer";
PROVISIONING_PROFILE = "";
PROVISIONING_PROFILE_SPECIFIER = "";
Die einzige Lösung hat für mich funktioniert:
Genießen! Hoffe es wird nützlich sein!
In meinem Fall musste ich mich auf der Apple Developer Website anmelden und die Liste der Geräte zurücksetzen.
Es sieht so aus, als würden sie es jetzt jedes Jahr tun, wenn das Abonnement erneuert wird, bevor Sie neue Geräte hinzufügen und Zertifikate generieren können.
Ich hatte das gleiche Problem. Meine wurde durch das Suchen nach "Bereitstellungsprofil" in der Build-Einstellung der Dateierweiterung behoben
Dann gab es zwei "Provisioning Profile" -Felder, ein reguläres und ein veraltetes. Die reguläre war auf Automatic, die veraltete aber nicht. Wenn ich dieses zu Automatisch verwandele, wurde mein Fehler behoben.
Ich habe lange gekämpft, ich habe alle vorgeschlagenen Lösungen ausprobiert. Für mich funktioniert nichts.
Dann habe ich das Problem gefunden: Es gab eine "Benutzerdefinierte Einstellungen" für "PROVISIONING_PROFILE" am Ende der Registerkarte "Build-Einstellungen". Ich lösche es sowohl für die Projekt- als auch für die Zielerstellungseinstellungen. Dann hat das automatische Signieren perfekt funktioniert.
Ich hoffe das hilft jemand anderem. :)
Ich habe die Projektdatei in einem Texteditor "Atom" geöffnet, dann nach der Provisioning-Profil-ID gesucht und diese gelöscht.
Nach dem Update auf Xcode 8.3.2 hatte ich bei einem Cordova-Projekt den gleichen Fehler. Ich musste ein Upgrade von Cordova (v7.0.0) und der iOS-Plattform (v4.4.0) durchführen, damit die Codesignatur funktioniert.
Für mich hatte ich die dump_syms
-Binärdatei und eine Reihe von Skripts in mein Build-Ziel gezogen, als ich das Firebase-SDK manuell installiert hatte. Wenn Sie diese aus meinem Ziel und Projekt entfernen, wurde das Problem behoben.
Stellen Sie sicher, dass der "Produkt-Bundle-Bezeichner" in den Build-Einstellungsnamen mit dem tatsächlichen Bundle-Bezeichner übereinstimmt. Dies hat für mich funktioniert.
Ändern Sie Ihren Code in Verteilungszertifikat.
Für mich muss ich von automatisch auf manuell und auf automatisch umschalten, derselbe Fehler. Wechseln Sie zu manuell und ändern Sie diese Bereitstellungsprofile und Einstellungen für die Codesignatur, erstellen Sie Fehler, und wechseln Sie zurück zu automatisch.
Ich hatte das gleiche Problem. Mir wurde klar, dass es so war, weil ich xcode verwendete, während ich es verwendete. Da die Updates nicht ordnungsgemäß installiert wurden, wurden diese Fehler angezeigt. Das einzige, was behoben wurde, war, Xcode zu beenden und es wieder zu öffnen. Als ich es wieder öffnete, wurde ich aufgefordert, Updates zu installieren. Nachdem die Updates installiert wurden, gingen die Fehler weg.
Mit Xcode 10: Keine der anderen Lösungen funktionierte für mich.
Ich musste zu Xcode 9 zurückkehren, um dieses Problem zu beheben, und dann ein Update auf Xcode 10 durchführen, damit ich meine Anwendung auf iOS 12 auf einem Nicht-Emulatorgerät ausführen kann.
Alle anderen Lösungen von Stack Overflow oder anderswo, die in Xcode 10 verwendet werden, haben mich in einen unendlichen Kreislauf von Bereitstellungskonflikten oder Signierungsproblemen versetzt. Es scheint, als wäre die Signatur in Xcode 10 fehlerhaft, egal ob Sie die automatische Methode verwenden oder die Bereitstellungsprofile und Zertifikate manuell auswählen.
Sie können zu Xcode 9 zurückkehren, indem Sie zunächst Xcode 10 aus Ihrem Anwendungsordner löschen. Installieren Sie dann Xcode 9 mithilfe der .xip-Datei, die auf diese Apple-Entwicklerseite aufgeführt ist.
Verwenden Sie in Xcode 9 die Option zum automatischen Erstellen. Möglicherweise müssen Sie das Kontrollkästchen "Signatur automatisch verwalten" deaktivieren und erneut auswählen. Außerdem müssen Sie möglicherweise ein vorhandenes Zertifikat unter developer.Apple.com widerrufen.
Nachdem Sie die App zum erfolgreichen Erstellen von Xcode 9 erhalten haben, können Sie über den App Store wieder auf Xcode 10 aktualisieren. Nach dem erneuten Öffnen der Anwendung in Xcode 10 funktionierte alles noch. Möglicherweise müssen Sie dies nicht tun, aber ich musste, um für iOS 12 zu bauen, für das Xcode 10 erforderlich ist.