Xcode 11 Kesalahan Mengekspor IPA Tidak ada profil untuk 'my.bundle.id' ditemukan

12

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.

Daryl
sumber

Jawaban:

15

Hei, aku juga punya masalah ini. Apa yang harus saya lakukan untuk memperbaikinya adalah membuat file arsip dan mengekspor file IPA untuk TestFlight dari xCode menggunakan GUI. Selama proses itu xCode dapat membuat sertifikat yang hilang. Sekarang saya dapat menjalankan perintah baris dengan sukses.

Langkah-langkah untuk Menggunakan GUI untuk membuat Sertifikat yang dibutuhkan:

  • Buka Xcode
  • Pilih Produk
  • Pilih Arsip (Jika Arsip berwarna abu-abu, lakukan build untuk Generic iOS Device terlebih dahulu.)
  • Pilih Distribute App
  • Pilih App Store Connect dari Daftar Tombol Radio dan kemudian klik Next.
  • Pilih Ekspor dari Daftar Tombol Radio dan kemudian klik berikutnya.
  • Periksa Menghasilkan sertifikat Distribusi Apple.
  • Ekspor sertifikat sebagai cadangan dan untuk berbagi dengan sesama pengembang.

Di bawah ini adalah Cuplikan Layar dari jendela "Buat Sertifikat Distribusi Apple" yang perlu diklik dalam proses GUI.

masukkan deskripsi gambar di sini

Austin
sumber
1
Terima kasih telah memecahkan masalah. Itu mengharuskan saya melakukan ini untuk setiap perusahaan yang kami bangun. Saya baru saja memeriksa "menghasilkan sertifikat" di GUI seperti yang Anda sebutkan dan alat baris perintah berfungsi sekarang. Tampak seperti bug di apel karena ketika saya menambahkan flag -allowProvisioningUpdates, itu tidak secara otomatis memperbarui profil, sertifikat, dll.
Daryl
Saya mengalami masalah ini untuk unggahan aplikasi asli ke TestFilght. Tetapi saya sudah menginstal .p12 saya, lalu mengapa saya melihat layar ini? Adakah yang bisa membantu?
Akshay Jadhav