Saya mendapatkan kesalahan 'menakutkan' The entitlements specified in your application’s Code Signing Entitlements file do not match those specified in your provisioning profile.
(0xE8008016).
ketika mencoba untuk menyebarkan aplikasi pertama saya ke perangkat yang tidak di-jailbreak di iOS 4.2.6 (Verizon). Masalahnya, saya tidak punya Entitlements file
dalam proyek saya, karena saya tidak mendistribusikannya sama sekali, hanya meletakkannya di satu perangkat. Saya telah melalui semua simpai dan simpai yang diberikan apel kepada Anda (sertifikat, perangkat, penyediaan) hingga ke surat itu, dan saya tidak dapat menemukan apa yang salah.
Adakah yang bisa membantu saya dengan masalah ini?
iphone
objective-c
code-signing
provisioning-profile
code-signing-entitlements
Richard J. Ross III
sumber
sumber
Build Settings > Code Signing > Code Signing Entitlements
memungkinkan saya untuk membangun proyek ini.Jawaban:
Baru saja menemukan masalah ini sendiri, masalahnya adalah bahwa saya memiliki file Entitlements.plist dalam proyek sebagai bagian dari distribusi ad hoc, dan properti get-task-allow (mis. 'Dapat di-debug') diatur ke TIDAK - mengatur ini ke YA memperbaiki masalah dan memungkinkan aplikasi untuk menjalankan dari Xcode4 pada perangkat dalam pengembangan.
Secara alami perlu mengaturnya kembali ke TIDAK untuk distribusi ad hoc, tetapi hanya berpikir saya akan menyebutkannya kalau-kalau ada orang lain menemukan masalah yang sama.
sumber
Saya punya masalah dengan Xcode 4.2.1.
Bagi saya itu tidak ada hubungannya dengan file Kepemilikan, atau Ad-hoc ...
Saya kembali ke dan proyek lama, dan saya lupa menambahkan iPhone baru saya ke ketentuan.
Kesalahan konyol, tetapi juga pesan kesalahan terkait konyol ...: - /
sumber
Jika Anda menggunakan reaksi asli, pastikan bahwa target Uji memiliki profil penyediaan yang sama dengan yang utama.
sumber
Saya punya masalah dengan hak iCloud. Masalah saya adalah saya lupa mengaktifkan iCloud untuk ID Aplikasi saya di Portal Penyediaan.
Setelah mengaktifkan iCloud untuk ID Aplikasi Anda, Anda harus membuat ulang profil penyediaan.
sumber
Simpan file hak Anda di Target> Bangun Pengaturan> Penandatanganan Kode> Hak Penandatanganan Kode.
Pergi ke Target> Capabilities. Toggle On / Off atau Off / On salah satu kemampuan.
Lari.
sumber
Apa yang berhasil bagi saya adalah menghapus sepenuhnya file hak, dari daftar grup, dan dari Pengaturan Bangun di Project dan Target. Kemudian saya menciptakan kembali hak dari tab Ringkasan di target, dan itu dimuat dengan baik tanpa pesan kesalahan.
sumber
Hanya memasukkan 5 sen saya di sini. Bagi saya tidak ada yang berhasil, jadi saya terpaksa stres dan benar-benar melihat setiap bagian dari proses dengan mata segar.
Dalam terburu-buru ini saya lupa bahwa saya mencoba untuk menginstal aplikasi saya pada perangkat yang sama sekali baru.
Jadi kesalahan saya adalah bahwa saya belum memperbarui profil penyediaan saya dengan mencentang perangkat baru saya di bagian "Perangkat" dari pengaturan profil penyediaan di Portal Penyedia.
Tampaknya tidak termasuk perangkat Anda dalam profil penyediaan juga menghasilkan pesan kesalahan ini.
sumber
Tidak satu pun dari banyak jawaban yang memperbaiki Kesalahan 0xE8008016 untuk saya.
Tetapi ketika saya memilih "Penyediaan Perangkat Otomatis" di Xcode 4> Agenda> Perangkat> Profil Penyedia, akhirnya bekerja.
sumber
Dalam kasus saya itu adalah kesalahan bodoh. Saya salah mengatur skema "Jalankan" untuk menggunakan konfigurasi pembangunan "Distribusi" alih-alih "Debug" atau "Rilis". Kesalahan bodoh, tetapi butuh beberapa saat untuk men-debug itu, jadi saya akan menambahkan jawaban saya untuk meningkatkan basis pengetahuan di dalam stack overflow!
sumber
Hapus profil penyediaan Anda, lakukan 'Bersihkan Semua', pastikan bahwa pengaturan penyediaan Anda sudah benar, unduh ulang, dan coba jalankan lagi.
sumber
sumber
Saya memiliki masalah yang sama di aplikasi saya, setelah beberapa bulan aplikasi spesifik ini bekerja dengan baik.
Masalahnya adalah bahwa Kemampuan yang dikonfigurasi dalam proyek Xcode saya (di bawah Target -> {ProjectName} -> Kemampuan) tidak sama dengan Kemampuan yang dikonfigurasi dalam profil penyediaan (Anda dapat memeriksa bahwa di pusat anggota Apple di bawah Identifier -> App Id -> {ID aplikasi Anda}. Di pusat anggota saya melihat bahwa Game Center diaktifkan dan dalam proyek saya, saya juga mengaktifkan Game Center. Kemudian aplikasi dapat diluncurkan.
Saya tidak tahu bagaimana cara kerjanya sampai sekarang. Itu masih misteri :)
sumber
Bagi saya periksa opsi "Kelola penandatanganan otomatis" di Target menyelesaikan masalah!
sumber
Menghapus folder xcuserdata memecahkan masalah saya. Lebih lanjut tentang itu di sini: https://stackoverflow.com/a/9968884/300694
sumber
Jika Anda tidak mengubah apa pun yang terkait dengan sertifikat (tidak mengganti atau memperbaruinya) lakukan saja
Product -> Clean
. Itu membantu saya beberapa kali. (Xcode 6.2)sumber
Memutakhirkan ke XCode 4 memperbaiki masalah.
sumber
Saya mengalami masalah ini hari ini dan saya mencabut rambut saya mencoba mencari tahu. Seperti banyak orang di sini, itu akan berfungsi jika saya menghapus opsi iCloud di file hak saya. Ketika saya pergi untuk men-debug aplikasi dengan opsi iCloud diaktifkan maka saya akan mendapatkan kesalahan 0xe8008016. Ini tepat setelah mencabut dan membuat ulang sertifikat baru.
Jadi yang memecahkannya bagi saya adalah mengaktifkan dukungan iCloud untuk profil tim Xcode yang dibuat secara otomatis. Masuk ke alat penyediaan online, buka
App IDs
, klikXcode iOS Wildcard App ID
, klikedit
, aktifkan iCloud dengan mencentang kotak centang, dan akhirnya mengklikDone
. Refresh profil Anda di Xcode dan kemudian akan mulai berfungsi.Ini masuk akal - ketika Anda men-debug-nya default ke profil tim dan profil tim perlu dihidupkan iCloud.
sumber
Terjadi pada saya ketika saya mencoba menggunakan profil penyediaan distribusi app store untuk pengujian lokal karena kesalahan. Ketika saya menggunakan profil pengembangan yang tepat itu berfungsi dengan baik. Mungkin ini membantu seseorang juga.
sumber
Ini bekerja untuk saya ...
Entitlements
file daritarget
.Cleaned
build in XcodeSemoga berhasil juga untuk kalian :)
sumber
Inilah yang memecahkan masalah saya: Menghapus jalur di bagian Hak Penandatanganan Kode pada pengaturan build Target.
sumber
Profil penyediaan saya dari pengembang Apple cocok dengan kemampuan Xcode saya, tetapi itu masih tidak membangun ke perangkat saya sampai saya melakukan hal berikut:
Hapus / Hapus file hak dari proyek Xcode Anda.
Kembali ke tab kemampuan Xcode
Tekan tombol "Perbaiki Masalah" untuk mendapatkan Xcode untuk menambahkan kembali file hak.
Bekerja untuk saya, semoga membantu seseorang.
sumber
Terjadi pada saya di Xcode 8, sebagian disebabkan oleh
Provisioning Profile
pengaturan build baru , karena dalam versi Xcode ini ada dua entri untuk profil penyediaan:Kesalahan saya adalah bahwa saya memperbarui hanya yang pertama, dan entri yang sudah usang masih menunjuk ke profil penyediaan yang tidak valid. Mengubah keduanya ke nilai yang sama memecahkan masalah (menghapus entri yang sudah ditinggalkan juga harus memiliki efek yang sama).
sumber
Dalam kasus saya, sepertinya Xcode (diam-diam) mengatur ulang Skema. Saya menemukan bahwa konfigurasi build untuk Archive diatur ke Release alih-alih distribusi, dan setelah saya mengubahnya ke yang benar, itu berhasil.
Saya pikir lebih baik untuk memeriksa Skema serta pengaturan build.
sumber
Saya memiliki proyek lama dan masalah yang sama dan saya menyelesaikannya.
1. Pergi ke ringkasan
Pergi 2. memiliki grup gantungan kunci dan menghapus objek grup keychanin.
Saya harap ini akan berhasil untuk Anda. Salam.
sumber
Saya menggunakan xcode 6 dan menemukan masalah ini untuk satu iPhone 4
akhirnya, saya pergi ke perangkat => ketentuan profil =>
dan kemudian tambahkan profil secara manual dan masalah telah diperbaiki.
sumber
Bagi saya di Xcode 5.1 saya dapatkan
The entitlements specified in your application’s Code Signing Entitlements file do not match those specified in your provisioning profile.
ketika mencoba menguji aplikasi pada perangkat saya. Sertifikat Pengembangan Perangkat harus berakhir Februari 2015.Masalah telah diatasi:
Dipilih
Target->Capabilities
, di bawah GameCenter, di sini saya mendapatkan kesalahan pada hak GameCenter karena tidak ditambahkan ke proyek, meskipun versi pertama aplikasi dirilis melalui XCode 5.1 yang sama tetapi tidak ada kesalahan seperti ini sebelumnya.Di bawah, sebuah tombol diberi judul
Fix Issue
. Ketika diklik itu menambahkan hak GameCenter dan masalah diselesaikan.Setelah bangsal layar terlihat seperti:
Bagi saya, tidak ada hubungannya dengan sertifikat. Aplikasi sekarang berjalan dengan sukses di perangkat.
sumber
Satu lagi masalah potensial yang akan menimbulkan pesan kesalahan ini: Jika Anda menggunakan profil penyediaan yang benar-benar valid untuk aplikasi utama Anda, tetapi memiliki profil penyediaan yang kedaluwarsa atau tidak valid untuk ekstensi widget Today Anda. Saya membayangkan itu akan sama untuk ekstensi jam tangan Apple juga.
Periksa semua profil!
sumber
Periksa Akses KeyChain!
Dalam kasus saya, saya menggunakan sertifikat distribusi yang salah terkait dengan profil penyediaan.
sumber
Kode yang saya kerjakan memiliki bundleid berbeda di Info-plist daripada di
Product Bundle Identifier
pengaturan build.Saya menemukan ini karena saya perhatikan pesan ini di konsol perangkat di tampilan perangkat:
MIS: entitlement 'application-identifier' has value not permitted by provisioning profile 'iOS Team Provisioning Profile: com.xxx.yyy'
sumber
Jika Anda mencoba mengaktifkan sinkronisasi iCloud, Anda harus mengaktifkan iCloud untuk AppID yang digunakan untuk membuat profil penyediaan pengembangan (yang Xcode lakukan secara otomatis). Anda juga harus mengaktifkan ini untuk profil distribusi.
Bagian yang sulit adalah ketika Anda me-refresh profil di Xcode, ini tidak memicu pembaruan profil; mereka hanya diunduh ulang. Jadi di Portal Provisioning iOS Anda di bawah Provisioning / Development, Anda harus memeriksa profil yang berlabel (Dikelola oleh Xcode) dan menghapusnya (tombol Hapus Dipilih). Lakukan ini untuk SEMUA profil, pengembangan & distribusi, yang perlu Anda buat ulang.
Sekarang, di Xcode di Agenda, hapus profil penyediaan yang akan Anda ganti.
Sekarang untuk mendapatkan yang baru. Jika Anda mengembangkan lebih dari satu tim dan hanya ingin menyegarkan yang lain, pilih Tim yang sesuai di panel kiri di bawah TIM, jika tidak pilih Profil Penyedia di bawah PERPUSTAKAAN, lalu pilih Refresh.
Terakhir, hapus profil penyediaan yang lama pada perangkat Anda yang dapat bertentangan dengan yang baru karena profil tidak pernah dihapus secara otomatis; profil yang lebih baru hanya ditambahkan ke daftar.
sumber