Saya menggunakan Xcode untuk membuat file ekspor .ipa untuk dikirim ke Apple. Saya telah berhasil melakukannya sebelum memutakhirkan dari Xcode 10 ke Xcode 11.
Beberapa kesalahan yang kami alami menunjukkan bahwa kami perlu menghapus Xcode sepenuhnya karena kami memiliki versi beta sebelumnya dan versi lama Xcode beta mungkin menyebabkan masalah. Saya memutuskan untuk hanya menghapus seluruh Mac bersih dengan sistem reset untuk menghindari salinan Xcode Beta atau pengaturannya dari pada mesin. Jadi sekarang ini adalah instalasi Mac OS yang sepenuhnya baru. Saya telah menginstal ulang Xcode.
Saya telah mengimpor sertifikat lama saya ke Gantungan Kunci dan memverifikasi bahwa saya hanya memiliki sertifikat yang terdaftar.
Saya menjalankan dua perintah. Saya pertama kali membuat arsip. Lalu saya menggunakan arsip untuk mengekspor ipa:
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
Perhatikan bahwa saya telah mengganti skema dengan XXXX dan bundel ID dalam contoh saya telah diganti dengan 'my.bundle.id'.
Proses ini berfungsi untuk melakukan pengembangan .ipa. Namun, ketika saya pergi untuk membuat Testflight atau Production .ipa saya mendapatkan kesalahan.
Perintah pertama berjalan tanpa kesalahan dan saya memiliki file arsip yang dibuat di "build-dev / XXX.archive". Perintah kedua menghasilkan kesalahan:
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'.}
Ini adalah file release.plist saya.
<?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>
Saya berhasil membangun dari dalam Xcode dengan sukses. Hanya ekspor baris perintah yang telah saya terbitkan.
Bundel id ada di akun developer.apple.com saya. Saya memiliki sertifikat Pengembangan iOS dan Distribusi iOS yang valid di Preferensi Xcode.
Saya tidak yakin mengapa saya mendapatkan kesalahan ini.