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.