Hak yang ditentukan ... profil. (0xE8008016). Kesalahan iOS 4.2


142

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 filedalam 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?



15
Aneh, saya punya downvote. Apakah orang yang melakukan ini tolong jelaskan?
Richard J. Ross III

Pertanyaan ini sangat membantu saya karena ternyata saya memang memiliki file hak (dan Anda menyebutkannya membuat saya sadar akan hal ini). Menghapus referensi di Build Settings > Code Signing > Code Signing Entitlementsmemungkinkan saya untuk membangun proyek ini.
Geoff

Jawaban:


64

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.


Terima kasih - ini akhirnya memperbaiki masalah saya.
EasyCoder

Terima kasih! Itu membunuh saya.
alan

"get-task-allow = NO" membuat aplikasi saya melihat iCloud, ketika didistribusikan sebagai AdHoc ipa.
Tertium

7
Ngomong-ngomong, periksa apakah Anda menentukan identitas tanda yang benar persis di Target -> Bangun Pengaturan , bukan di Proyek . Target menimpa Proyek . Saya lupa tentang ini dan mendapat pesan kesalahan 0xE8008016.
Tertium

Satu hal lagi, jika aplikasi Anda menggunakan 'iCloud Key-Value Store' di kepemilikan, Anda harus menghapus kunci ini untuk versi Debug. Kalau tidak, aplikasi tidak akan berjalan pada perangkat Anda dan akan terus memberikan kesalahan ini bahkan jika Anda memiliki 'get-task-allow' diatur ke YES.
strangetimes

50

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 ...: - /


7
Kesalahan konyol yang ternyata kami berdua lakukan.
Patrick Bassut

5
Saya berharap saya bisa +2, pesan kesalahan yang konyol untuk masalah ini. Saya akan mencari berjam-jam kalau bukan karena posting Anda.
Wesley Smith

Terima kasih telah menunjukkannya, saya juga melakukan kesalahan konyol ini. akhirnya diselesaikan.
Gaurav

44

Jika Anda menggunakan reaksi asli, pastikan bahwa target Uji memiliki profil penyediaan yang sama dengan yang utama.


3
Terima kasih banyak, Anda menyelamatkan hari saya
Julien Athomas

Anda menyimpan daging saya
Theo Bendixson

Terima kasih banyak. Kamu menyelamatkan hariku. :)
pratik

Saya sudah seperti satu jam berjuang sampai saya melihat komentar Anda, terima kasih !!
ivmos

Saya sudah mati di dalam sampai saya berlari ke komentar ini.
Anjing

29

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.


1
Saya memiliki kesalahan ini terjadi pada saya lagi. Saya perlu menambahkan perangkat baru saya ke profil penyediaan pengembangan, kemudian menyegarkan daftar dalam Xcode.
adjwilli

Punya masalah yang sama. Yang aneh, karena aplikasi ini diaktifkan dan berfungsi untuk penerapan ad-hoc sebelumnya.
Raeldor

Saya memiliki masalah kepemilikan terkait dengan iCloud, karena aplikasi saya mengakses dokumen iCloud. Saya harus memperbarui hak iCloud di bagian Kemampuan.
user3300864

20

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.


Ini berhasil untuk saya. tetapi sekali lagi saya harus memilih profil penyediaan di halaman pengaturan pembuatan.
Rinku

1
Ini berhasil untuk saya. Associated Domains diaktifkan untuk saya. Saya mematikannya dan masalahnya terpecahkan.
BigRon

19

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.


Seperti yang dinyatakan di atas, nilai Kepemilikan harus dihapus secara manual di Pengaturan Bangun juga
petershine

1
menghapus file hak dan menambahkannya lagi berfungsi untuk saya - saya melakukan pembersihan juga
Jasper

Ini kunci saya di sini! Saya memeriksa Pengaturan Proyek dan Target Build. Di bagian Penandatanganan Kode ada pengaturan "Hak Penandatanganan Kode" - Saya memperluas, menyoroti baris debug dan rilis, dan menekan tombol Delete. Ini kemudian memungkinkan aplikasi saya untuk membangun tanpa kesalahan. Namun, itu masih tidak akan debug - segera keluar dengan pesan di konsol, saya harus mencarinya.
Jay Imerman

1
Ini bekerja juga ketika mencoba menjalankan aplikasi "fit" HealthKit untuk iOS8 - ada string pengenal tambahan dalam file hak. Menghapusnya memungkinkan proyek untuk berjalan setelah mengikuti langkah-langkah lain yang disebutkan di utas ini
Alex Stone

Ini memperbaiki masalah saya dengan iCloud. Tampaknya ada beberapa pengaturan tambahan dalam file Hak yang tidak perlu ada di sana. Menghapus mereka dan semua dan membuat tab General membangunnya kembali berfungsi.
AndyDunn

15

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.


Setuju - jika Anda tidak memiliki profil penyediaan Anda dengan benar, Anda bisa mendapatkan kesalahan ini.
Matt

12

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.


1
Batu itu! Bekerja untuk saya juga. Saya pikir itu adalah kombinasi dari semua hal di atas, karena aplikasi ini awalnya dikembangkan dengan XCode 3, kemudian dibawa ke 4.2, saya menghapus file Entitlements.plist dari proyek, menghapus entri kode penandatanganan hak di dalam Build Settings / Code Bagian penandatanganan, kemudian atur profil penyediaan ke otomatis. Yang terakhir melakukannya.
Jay Imerman

Ini adalah masalah saya juga, kecuali itu secara otomatis memilih profil penyediaan yang salah, dan dengan memilih secara manual yang benar masalah diperbaiki.
Abhi Beckert

1
Itu berhasil untuk saya. Saya tidak yakin bagaimana beberapa profil penyedia Tim Pengembang iOS dihapus tetapi mengklik menyegarkan di halaman Profil Penyedia yang Anda rujuk untuk menyelesaikan kesalahan ini untuk saya.
sean808080

11

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!


10

Hapus profil penyediaan Anda, lakukan 'Bersihkan Semua', pastikan bahwa pengaturan penyediaan Anda sudah benar, unduh ulang, dan coba jalankan lagi.


Versi Xcode apa yang Anda gunakan? Jika 4.0, ada masalah dengan ini. Anda mungkin harus me-restart Xcode atau bahkan me-restart Mac Anda. Pastikan bahwa pengaturan penyediaan tepat di proyek dan target. Pengaturan target lebih diutamakan daripada Proyek.
W Dyson

Saya pikir ini masalah dengan perangkat, ini adalah iPhone 4 dari Verizon, dan dengan profil penyediaan yang sama, saya dapat menggunakan aplikasi ke iPad saya .. apakah ada orang lain yang memiliki masalah ini dengan iPhone 4 dari Verizon?
Richard J. Ross III

Apakah Anda menggunakan profil penyediaan yang lama? Anda harus menambahkan Verizon iPhone sebagai perangkat di Provisioning Portal dan kemudian memperbarui profil pengembangan, mengunduh ulang, dan menginstal ulang profil baru. Jika ini tidak berhasil, Anda harus memberikan lebih banyak informasi.
W Dyson

Saya baru saja menyiapkan profil penyediaan kemarin, bagaimana mungkin profil itu lama? apel baru saja meratifikasi permintaan pengembang saya, jadi itu baru sekali. Bagaimanapun, saya akan melihat cara kerjanya saat kami memperbarui ke iOS 4.3.
Richard J. Ross III

'Bersih' melakukannya untuk saya. -_-
Cœur

5
  1. Buka 'Portal Penyediaan iOS' di Safari.
  2. Ketuk 'Perangkat' di bilah sisi.
  3. Daftarkan UDID perangkat Anda
  4. Ketuk 'Profil Penyedia'
  5. Edit profil aplikasi Anda.
  6. Pilih perangkat yang baru saja Anda tambahkan.
  7. Unduh file .mobileprovision.
  8. Pasang itu.
  9. Bangun lagi.

4

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 :)


Saya sekarang menyadari bahwa pemberitahuan push tidak berfungsi lagi. Saya menghapus kemampuan Game center di Xcode. Aplikasi sekarang berjalan, tetapi pemberitahuan push tidak lagi datang. Adakah yang tahu kenapa?
bobsacameno

4

Bagi saya periksa opsi "Kelola penandatanganan otomatis" di Target menyelesaikan masalah!



3

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)


2

Memutakhirkan ke XCode 4 memperbaiki masalah.


1
Tampaknya tidak menjadi masalah khusus versi XCode, karena saya mendapatkan kesalahan dalam XCode 7.3.1. Harus menghapus profil penyediaan dan mengunduh ulang yang sama dari preferensi XCode untuk menyelesaikan masalah.
Ian Pinto

@ IanPinto saya setuju. Alasan utama ini adalah jawaban yang diterima adalah karena inilah yang bekerja untuk saya . Ini bukan informasi yang sangat berguna lagi, dan saya telah meningkatkan sebagian besar jawaban lain dalam posting ini, karena semuanya berisi informasi yang sangat berharga bagi orang-orang yang melihat ini di masa depan. Hal yang baik tentang jawaban-diri pada SO adalah bahwa mereka tidak secara otomatis didorong ke atas tumpukan, jadi tidak banyak orang akan melihat jawaban ini, bagaimanapun juga :)
Richard J. Ross III

2

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, klik Xcode iOS Wildcard App ID, klik edit, aktifkan iCloud dengan mencentang kotak centang, dan akhirnya mengklik Done. 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.


1
IYA! Itu masalah saya dan mengaktifkan iCloud di All Apps ID melakukan triknya. Terima kasih banyak
Guy Moreillon

2

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.


apa yang dapat saya lakukan jika saya ingin menguji profil aplikasi yang diunggah ke App Store? Apakah ada cara untuk melakukannya?
bobsacameno

2

Ini bekerja untuk saya ...

  1. Saya menghapus Entitlementsfile daritarget .
  2. Menghapus aplikasi dari semua perangkat saya
  3. Cleaned build in Xcode
  4. * opsional menghapus profil penyediaan dan menambahkannya kembali

Semoga berhasil juga untuk kalian :)


menghapus file Hak dari target, berfungsi untuk saya. Tetapi jangan lakukan ini cara terbaik untuk melakukannya.
YuAn Shaolin Maculelê Lai

2

Inilah yang memecahkan masalah saya: Menghapus jalur di bagian Hak Penandatanganan Kode pada pengaturan build Target.


Tolong, penjelasan 'bagaimana caranya'?
Agen Zebra

@AgentZebra Klik pada file Proyek utama> pilih aplikasi Anda dari "Target"> Bangun Pengaturan> Penandatanganan> Hak Penandatanganan Kode, hapus nilai yang ditunjukkan di sana.
weienw

2

Profil penyediaan saya dari pengembang Apple cocok dengan kemampuan Xcode saya, tetapi itu masih tidak membangun ke perangkat saya sampai saya melakukan hal berikut:

  1. Hapus / Hapus file hak dari proyek Xcode Anda.

  2. Kembali ke tab kemampuan Xcode

  3. Tekan tombol "Perbaiki Masalah" untuk mendapatkan Xcode untuk menambahkan kembali file hak.

Bekerja untuk saya, semoga membantu seseorang.


2

Terjadi pada saya di Xcode 8, sebagian disebabkan oleh Provisioning Profilepengaturan build baru , karena dalam versi Xcode ini ada dua entri untuk profil penyediaan:

  • Profil Penyediaan
  • Profil Provisioning (Usang)

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).


1

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.


1

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.


1

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.


1

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:

masukkan deskripsi gambar di sini

Bagi saya, tidak ada hubungannya dengan sertifikat. Aplikasi sekarang berjalan dengan sukses di perangkat.


1

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!


1

Periksa Akses KeyChain!

Dalam kasus saya, saya menggunakan sertifikat distribusi yang salah terkait dengan profil penyediaan.


1

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'


0

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.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.