Xcode 11 IPA Aktarma Hatası 'my.bundle.id' için profil bulunamadı


12

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.

Yanıtlar:


15

Hey ben de bu problemi yaşadım. Bunu düzeltmek için ne yapmak zorunda arşiv dosyası oluşturmak ve GUI kullanarak xCode TestFlight için bir IPA dosyası vermek oldu. Bu işlem sırasında xCode eksik olduğu sertifikayı oluşturabildi. Şimdi xCode komutlarını başarıyla çalıştırabilirim.

Gerekli Sertifikayı oluşturmak için GUI'yi kullanma adımları:

  • Xcode'u aç
  • Ürünü seç
  • Arşiv'i seçin (Arşiv griyse, önce Genel iOS Aygıtı için bir derleme yapın.)
  • Uygulamayı Dağıt'ı seçin
  • Radyo Düğmesi Listesinden App Store Connect'i seçin ve İleri'ye tıklayın.
  • Radyo Düğmesi Listesinden Dışa Aktar'ı seçin ve ardından İleri'ye tıklayın.
  • Apple Dağıtım Oluştur sertifikasını kontrol edin.
  • Sertifikayı yedek olarak dışa aktarın ve diğer geliştiricilerle paylaşın.

GUI işleminde tıklanması gereken "Bir Apple Dağıtım Sertifikası Oluştur" penceresinin Ekran Görüntüsü aşağıdadır.

resim açıklamasını buraya girin


1
Bu sorunu çözdü teşekkürler. Yaptığım her şirket için bunu yapmam gerekiyordu. Bahsettiğiniz gibi GUI'deki "sertifika oluştur" u kontrol ettim ve komut satırı araçları şimdi çalışıyor. Apple'da bir hata gibi görünüyor çünkü -allowProvisioningUpdates bayrağını eklediğimde, profilleri, sertifikaları vb. Otomatik olarak güncellemiyor
Daryl

TestFilght'e yerel uygulama yükleme için bu sorunla karşılaştım. Ama .p12'yi zaten yükledim o zaman neden bu ekranı görüyorum? Biri yardım edebilir mi?
Akshay Jadhav
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.