Saya mencoba mengunggah aplikasi ke toko aplikasi dan saya mendapatkan kesalahan ini pada halaman yang memiliki sertifikat. Sejauh yang saya tahu, saya telah mengubah lapangan sehingga mereka cocok, tetapi saya melewatkan sesuatu.
Bantuan apa pun akan sangat dihargai.
entitlements.plist
file Anda .Jawaban:
Saya tidak yakin mengapa ini memperbaikinya, tetapi saya masuk ke tab Capabilities Target saya, menyalakan iCloud, mencoba melakukan pembuatan arsip, gagal, saya MENONAKTIFKAN iCloud lagi, mencoba melakukan pembuatan Arsip dan berhasil, dan setelah itu dapat menyelesaikan sertifikat lagi secara otomatis.
sumber
Klik kanan pada Finder -> Go to Folder ...
~/Library/MobileDevice/Provisioning
Untuk Xcode 11
~/Library/MobileDevice/Provisioning Profiles/
Hapus semua profil penyediaan, selesai.
sumber
~/Library/MobileDevice/Provisioning Profiles/
Aplikasi yang Anda buat memiliki
application-identifier
nilai yang salah , untuk apa yang diharapkan oleh profil penyediaan. Sertifikat appID com.example.foo untuk tim 2ABCDEFG akan mengharapkan application-identifier: 2ABCDEFG.com.example.foo, aplikasi Anda menyatakan bahwa appID-nya adalah com.example.foo, tetapi pengenal aplikasinya tidak cocok , baik Anda menggunakan awalan tim yang salah, atau Anda memiliki bundleID yang salah dikonfigurasi.Dalam kasus saya, saya menggunakan skema build untuk memungkinkan saya membuat aplikasi prod dan aplikasi qa. com.example.foo untuk prod, dan com.example.foo.qa untuk QA. Saya telah mengatur bundleIdentifier saya di Info.plist ke $ (PRODUCT_BUNDLE_IDENTIFIER) $ (BUNDLE_SUFFIX), yang berfungsi dengan baik di simulator dan di perangkat karena memiliki aplikasi yang berbeda, namun, ketika aplikasi menghasilkan pengenal aplikasinya selama fase arsip, itu tidak boleh membaca bundleIdentifier yang dibuat oleh Info.plist.
Untuk memperbaiki situasi ini, saya mengedit FooProject.xcodeproj / project.pbxproj (dengan editor teks) untuk mengubah QA buildSettings PRODUCT_BUNDLE_IDENTIFIER saya menjadi com.example.foo.qa
Anda dapat melihat Q&A Teknis Apple untuk melihat penyelaman mendalam mereka dalam memecahkan masalah ini. Setelah Anda menjalankan hak kode tanda pada aplikasi yang diekspor, dan melihat pengenal aplikasi apa yang baru saja dibuat dengan aplikasi Anda, seharusnya cukup cepat untuk menyadari kesalahan yang Anda lakukan. https://developer.apple.com/library/content/qa/qa1879/_index.html Saya tidak menemukan halaman itu di pencarian Google saya, karena mereka tidak benar-benar menggunakan frase dari pesan kesalahan atau memanggil aplikasi -identifier dengan nama lengkapnya, tetapi sebutkan ID Aplikasi.
Selain itu, solusi untuk masalah ini bukanlah membuat profil penyediaan baru yang memiliki hak pengenal aplikasi, namun memiliki hak tersebut, namun, nilai dalam profil penyediaan, dan aplikasi Anda harus cocok.
sumber
Mungkin file {project} .entitlements hilang. Melakukan apa yang @samkass sebutkan akan menghasilkan file secara otomatis dan itu akan berfungsi. Jadi pada dasarnya buka saja tab kemampuan, aktifkan apa saja, dan nonaktifkan.
sumber
Mengubah sakelar iCloud menjadi aktif, membangun, dan menonaktifkan iCloud, menghilangkan kesalahan yang mengatakan bahwa:
sumber
Di Xcode 11, ini bisa terjadi ketika file .entitlement tidak ada untuk proyek Anda. Solusinya adalah dengan menambahkan kapabilitas acak dengan mengklik '+ Kapabilitas' di bawah 'Signing & Capabilities' (yang mengarah ke pembuatan file .entitlement) dan kemudian menghapus kapabilitas. Ini juga akan memungkinkan Anda menyediakan sertifikat secara otomatis.
sumber
Silakan periksa fitur aplikasi Anda yang diperlukan untuk aplikasi Anda seperti pembelian dalam aplikasi, pemberitahuan push, audio Inter App, kit Siri, dll.
Ini adalah satu-satunya penyebab jenis kesalahan ini.
Pastikan bahwa di App id Anda, flag di atas harus aktif.
Sebagian besar waktu itu terjadi ketika Anda tidak mengonfigurasi pemberitahuan push, pembelian Dalam Aplikasi di ID Aplikasi pengembangan Anda.
sumber
Saya masuk ke tab Kemampuan Target saya, mengaktifkan Berbagi Gantungan Kunci AKTIF dan itu mulai berfungsi
sumber
Bagi saya, triknya adalah
sumber
Di Xcode 10, saya membuatnya berfungsi dengan memindahkan file hak ke folder yang benar di Project Navigator. Saya tidak memiliki file hak, tetapi saya berhasil mendapatkannya dengan mengaktifkan fitur di tab kemampuan.
sumber
Saya mendapat kesalahan yang sama dan tidak ada solusi di atas yang menyelesaikan masalah dalam kasus saya.
Apa yang berhasil bagi saya adalah mengubah setelan "Dapat di-debug" di file "Entitlements.plist" dari "NO" menjadi "YES."
sumber
Dalam kasus saya, masalahnya adalah sebagai berikut: profil penyediaan yang digunakan untuk langkah pembuatan dibuat untuk id aplikasi yang berbeda dari profil penyediaan yang digunakan untuk langkah ekspor.
Jadi, pastikan Anda menggunakan profil penyediaan yang sama untuk langkah pembuatan dan ekspor.
sumber
Apa yang berhasil bagi saya adalah saya membuat arsip di XCode 11, dan mengunggah di dalamnya Xcode 12 beta.
sumber
Kemampuan pemeriksaan silang di aplikasi dengan opsi yang Anda aktifkan untuk ID Aplikasi di akun pengembang Anda.
sumber
Saya mencoba beberapa opsi yang tercantum dalam jawaban di sini tetapi tidak ada yang membantu, namun, mengaktifkan kotak centang "Kelola penandatanganan secara otomatis" dan memperbaiki masalah.
sumber
TL; DR: periksa ID Aplikasi Anda dan pastikan layanan sesuai dengan target Anda.
Apa yang terjadi pada saya adalah saya membiarkan Xcode 10.1 membantu saya membuat ID Aplikasi, dan setelah itu, saya mengalami masalah seperti yang dijelaskan di sini. (Saya memilih ID aplikasi whildcard ketika saya membuat aplikasi di iTunesConnect, jadi saya bahkan tidak menyadarinya.) Ketika saya membuka portal pengembang iOS, ID aplikasi baru memiliki Game Center dan In App Purchase diaktifkan secara otomatis.
Karena saya tidak dapat mengaktifkan Game Center di Anda
Target -> Capabilities
, saya mengaktifkan Pembelian Dalam Aplikasi, lalu aplikasi saya dapat ditandatangani dan diunggah.sumber
Ketika kami menghadapi masalah yang sama, kami mencoba semua hal di atas tetapi tidak ada yang berhasil.
Apa yang berhasil bagi kami adalah mengubah pengenal bundel sehingga tidak identik dengan yang sebelumnya, misalnya "com.name.App" menjadi "com.name.App2"; biarkan xcode mencoba untuk mengambil / membuat profil penyediaan dan mengembalikannya ke yang asli.
Dapatkan ide ini dari utas ini di forum pengembang Apple- https://forums.developer.apple.com/thread/114539
sumber
Saya menemukan halaman ini baru-baru ini setelah mencoba membuat target duplikat - tidak ada saran yang berhasil untuk saya. Penyelidikan lebih lanjut, dan sejumlah penarikan rambut, akhirnya membuat saya menjelajahi pengaturan build untuk aplikasi saya untuk mencoba dan mencari tahu apa yang salah.
Ternyata proyek saya masih mengarah ke file hak dari target ASLI, alih-alih memilikinya sendiri. Untuk mengatasi ini, saya menavigasi ke file hak asli di Finder (misalnya $ {SRCROOT} /MyProject/Entitlements/TargetName.entitlements ), membuat salinan dalam folder yang sama dan kemudian menamainya (misalnya NewTargetName.entitlements).
Kemudian, saya membuka file hak baru saya dan mengubah bidang pengenal aplikasi agar cocok dengan akhir pengenal bundel target baru saya (misalnya ABCDEFGH.US.co.fake-company.superduperapp-newtargetname ).
Terakhir, saya memperbarui bidang 'Kode Penandatanganan Entitlements' di pengaturan build ke jalur file hak saya (bagi saya, ini adalah sesuatu yang mirip dengan $ {SRCROOT} /MyProject/Entitlements/TargetName.entitlements ).
Saya kembali ke tab Penandatanganan & Kapabilitas, dan lihat, masalah telah diperbaiki. Semoga seseorang di luar sana menganggap ini berguna.
sumber
Buka tab Info Xcode dan ubah bidang pengenal Bundel - setelah mengubah nama aplikasi, itu tidak berubah meskipun saya mengubah Pengenal Bundel pada tab Umum. Perbaikan di atas tidak berhasil untuk saya, tetapi yang ini langsung bekerja.
sumber
Saya mengalami masalah ini dengan aplikasi baru, di Xcode 12 beta 3 ( pengiriman aplikasi dimulai hari ini ).
Xcode mengaktifkan "Kelola proses masuk secara otomatis". Namun, ID Tim yang ditampilkan di "Sertifikat Penandatanganan" tidak cocok dengan ID Tim yang ditampilkan di situs web iTunes Connect. Ini adalah penyebab utama yang mencegah aplikasi diunggah.
Bagaimana saya memperbaikinya:
sumber
Saya mengalami masalah yang sama saat menyiapkan pipeline Gitlab yang menjalankan cmd exportArchive dan mengunggah ke AppStore. Saya bisa membuatnya berfungsi dengan mengubah DEVELOPMENT_TEAM di Pengaturan Build ke Tim yang sama yang dipilih di Penandatanganan & Sertifikat.
Karena sebelumnya telah diset kosong yang menggunakan id TIM DEV lain secara default yang salah dan tidak cocok dan itu mengeluh tentang "application-identifier" = 12331232.com.bannana.apples.peach tidak cocok. Yang menuntun saya untuk menyetel DEV TEAM yang benar dan berhasil.
Xcode ver: Versi 11.3.1
Saya harap ini membantu seseorang.
sumber
Setup kami
Beberapa target:
... dan gunakan iCloud.
Menghidupkan dan mematikan iCloud bukanlah pilihan bagi kami. Kami sudah menggunakannya dalam produksi dan agak tidak mengacaukannya ... Saya mendapat pesan pertanyaan asli dan variasi ini di beberapa titik juga:
Larutan
Petunjuk dari tanggapan lain di sini, Kami memastikan bahwa semua target akan memiliki
.entitlements
file. Jika target tidak punya, kami membuat yang kosong seperti ini:<?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/> </plist>
... dan menunjuk sasaran itu
Code Signing Entitlement
diBuild Settings
ke kosong.entitlements
berkas.Terpecahkan!
sumber
Hapus semua profil yang terletak di
~/Library/MobileDevice/Provisioning Profiles/
sumber