Xcode 11 Fehler beim Exportieren von IPA Es wurden keine Profile für 'my.bundle.id' gefunden

12

Ich verwende Xcode, um IPA-Exportdateien für die Übermittlung an Apple zu erstellen. Ich habe dies vor dem Upgrade von Xcode 10 auf Xcode 11 erfolgreich durchgeführt.

Einige der aufgetretenen Fehler deuteten darauf hin, dass wir Xcode vollständig deinstallieren mussten, da wir zuvor eine Beta-Version hatten und die alte Version von Xcode Beta wahrscheinlich die Probleme verursachte. Ich habe mich entschlossen, den gesamten Mac mit einem System-Reset sauber zu wischen, um zu verhindern, dass eine Kopie von Xcode Beta oder seinen Einstellungen auf dem Computer angezeigt wird. Es ist also jetzt eine völlig neue Installation von Mac OS. Ich habe Xcode neu installiert.

Ich habe meine alten Zertifikate in den Schlüsselbund importiert und überprüft, ob nur gültige Zertifikate aufgeführt sind.

Ich führe zwei Befehle aus. Ich erstelle zuerst ein Archiv. Dann benutze ich das Archiv, um das ipa zu exportieren:

xcodebuild -allowProvisioningUpdates -workspace my_app.xcworkspace -scheme XXXX -archivePath build-dev/XXXX.xcarchive archive
xcodebuild -exportArchive -archivePath build-dev/XXXX.xcarchive -exportOptionsPlist release.plist -exportPath build-dev

Beachten Sie, dass ich das Schema durch XXXX ersetzt habe und die Bundle-IDs in meinen Beispielen durch 'my.bundle.id' ersetzt wurden.

Dieser Prozess funktioniert, um eine Entwicklung .ipa durchzuführen. Wenn ich jedoch einen Testflight oder eine Production .ipa erstelle, werden Fehler angezeigt.

Der erste Befehl wird fehlerfrei ausgeführt und ich habe die Archivdatei unter "build-dev / XXX.archive" erstellt. Der zweite Befehl erzeugt Fehler:

2019-09-30 12:11:46.444 xcodebuild[10674:326155] [MT] IDEDistribution: -[IDEDistributionLogging _createLoggingBundleAtPath:]: Created bundle at path '/var/folders/10/8g5xrhr56wz6sgttzh0_s8fr0000gn/T/XXXX_2019-09-30_12-11-46.444.xcdistributionlogs'.

2019-09-30 12:11:56.534 xcodebuild[10674:326208]  DVTAssertions: Warning in /Library/Caches/com.apple.xbs/Sources/IDEFrameworks/IDEFrameworks-14936/IDEFoundation/Provisioning/Logging/IDEProvisioningLedger.m:172

Details:  Unable to close provisioning ledger entry because not all of its subentries are closed
Object:   <IDEProvisioningLedgerEntry: 0x7ff7568b7a00>
Method:   -closeWithError:
Thread:   <NSThread: 0x7ff750b16af0>{number = 14, name = (null)}
Please file a bug at https://feedbackassistant.apple.com with this warning message and any useful information you can provide.
error: exportArchive: Create certificate

Error Domain=IDEProvisioningErrorDomain Code=19 "Create certificate" UserInfo={IDEDistributionIssueSeverity=3, IDEProvisioningError_UserInfoKey_IDEProvisioningUserAction=<IDEProvisioningCreateTeamOwnedCertificateUserAction: 0x7ff756acf0c0>, NSLocalizedRecoverySuggestion=Create a new Apple Distribution certificate for your team., NSLocalizedDescription=Create certificate}

error: exportArchive: No profiles for 'my.bundle.id' were found

Error Domain=IDEProfileLocatorErrorDomain Code=1 "No profiles for 'my.bundle.id' were found" UserInfo={IDEDistributionIssueSeverity=3, NSLocalizedDescription=No profiles for 'my.bundle.id' were found, NSLocalizedRecoverySuggestion=Xcode couldn't find any iOS App Store provisioning profiles matching 'my.bundle.id'.}

Dies ist meine release.plist-Datei.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>method</key>
    <string>app-store</string>
    <key>teamID</key>
    <string>MY-TEAM-ID</string>
    <key>compileBitcode</key>
    <false/>
</dict>
</plist>

Ich kann erfolgreich aus Xcode heraus bauen. Es ist nur der Befehlszeilenexport, den ich ausgegeben habe.

Die Bundle-ID ist in meinem Konto bei developer.apple.com vorhanden. Ich habe ein gültiges iOS-Entwicklungs- und iOS-Verteilungszertifikat in den Xcode-Einstellungen.

Ich bin nicht sicher, warum ich diese Fehler bekomme.

Daryl
quelle

Antworten:

15

Hey, ich hatte auch dieses Problem. Um dies zu beheben, musste ich die Archivdatei erstellen und eine IPA-Datei für TestFlight aus xCode über die GUI exportieren. Während dieses Vorgangs konnte xCode das fehlende Zertifikat erstellen. Jetzt kann ich die Befehlszeilen-xCode-Befehle erfolgreich ausführen.

Schritte zur Verwendung der GUI zum Erstellen des erforderlichen Zertifikats:

  • Öffnen Sie Xcode
  • Ausgewähltes Produkt
  • Archiv auswählen (Wenn das Archiv grau ist, erstellen Sie zuerst einen Build für das generische iOS-Gerät.)
  • Wählen Sie App verteilen
  • Wählen Sie App Store Connect aus der Optionsfeldliste und klicken Sie dann auf Weiter.
  • Wählen Sie Aus Optionsfeldliste exportieren und klicken Sie dann auf Weiter.
  • Aktivieren Sie das Kontrollkästchen Apple Distribution-Zertifikat generieren.
  • Exportieren Sie das Zertifikat als Backup und zur Weitergabe an andere Entwickler.

Unten sehen Sie einen Screenshot des Fensters "Generieren eines Apple-Verteilungszertifikats", auf das im GUI-Prozess geklickt werden muss.

Geben Sie hier die Bildbeschreibung ein

Austin
quelle
1
Danke, das hat das Problem gelöst. Ich musste dies für jedes Unternehmen tun, für das wir bauen. Ich habe gerade das "Zertifikat generieren" in der GUI überprüft, wie Sie erwähnt haben, und die Befehlszeilentools funktionieren jetzt. Sieht aus wie ein Fehler in Apple, denn wenn ich das Flag -allowProvisioningUpdates hinzufüge, werden die Profile, Zertifikate usw. nicht automatisch aktualisiert.
Daryl
Ich habe dieses Problem beim Hochladen der nativen App auf TestFilght festgestellt. Aber ich habe meine .p12 schon installiert, warum sehe ich diesen Bildschirm? Kann jemand helfen?
Akshay Jadhav