Apple'a gönderilmek üzere .ipa ihracat dosyaları oluşturmak için Xcode kullanıyorum. Xcode 10'dan Xcode 11'e yükseltmeden önce bunu başarıyla yapıyorum.
Karşılaştığımız bazı hatalar, daha önce bir beta sürümümüz olduğu ve Xcode beta'nın eski sürümü muhtemelen sorunlara neden olduğu için Xcode'u tamamen kaldırmamız gerektiğini önerdi. Xcode Beta'nın herhangi bir kopyasının veya ayarlarının makinede olmasını önlemek için Mac'in tamamını bir sistem sıfırlamasıyla temizlemeye karar verdim. Bu yüzden şimdi tamamen yeni bir Mac OS kurulumu. Xcode'u yeniden yükledim.
Eski sertifikalarımı Anahtarlık içine aktardım ve yalnızca geçerli sertifikalarım listelendi.
İki komut çalıştırıyorum. Önce bir arşiv oluşturuyorum. Sonra ipa vermek için arşiv kullanın:
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
Düzeni XXXX ile değiştirdim ve örneklerimdeki paket kimlikleri 'my.bundle.id' ile değiştirildi.
Bu işlem bir geliştirme .ipa yapmak için çalışır. Ancak, bir Testflight veya Production .ipa oluşturmaya gittiğimde hata alıyorum.
İlk komut hatasız çalışır ve "build-dev / XXX.archive" de oluşturulan arşiv dosyası var. İkinci komut hata üretir:
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'.}
Bu benim release.plist dosyam.
<?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>
Başarılı bir şekilde Xcode içinden inşa edebiliyorum. Bu sadece benim ihraç ettiğim komut satırı ihracat.
Paket kimliği developer.apple.com hesabımda var. Xcode Tercihleri'nde geçerli bir iOS Geliştirme ve iOS Distrobution sertifikam var.
Bu hataları neden aldığımdan emin değilim.
