Belirtilen yetkiler ... profili. (0xE8008016). Hata iOS 4.2


142

The entitlements specified in your application’s Code Signing Entitlements file do not match those specified in your provisioning profile. (0xE8008016).İlk uygulamamı iOS 4.2.6'da (Verizon) jailbreak yapılmamış bir cihaza dağıtmaya çalışırken 'korkunç' hatasını alıyorum . Mesele şu ki, projemde bir tane yok Entitlements file, çünkü hiç dağıtmıyorum, sadece bir cihaza koyuyorum. Tüm çemberler ve döngülerden geçtim, elma sizi mektuba (sertifika, cihaz, sağlama) sokuyor ve neyin yanlış gittiğini anlayamıyorum.

Birisi bana bu sorunla ilgili yardım edebilir mi?



15
Bu garip, benim bir düşüşüm var. Bunu yapan kişi lütfen açıklar mı?
Richard J. Ross III

Bu soru ben ortaya çıktı, çünkü gerçekten bana yardımcı yaptım bir haklar dosyası var (ve bu beni haberdar söz). İçindeki referansı kaldırmak Build Settings > Code Signing > Code Signing Entitlementsbu projeyi oluşturmama izin verdi.
Geoff

Yanıtlar:


64

Bu sorunla kendim yeni karşılaştım, sorun projede geçici bir dağıtımın bir parçası olarak bir Entitlements.plist dosyası vardı ve get-task-allow (yani. 'Debugged') özelliği NO olarak ayarlanmıştı - bunu EVET olarak ayarlamak sorunu çözdü ve uygulamanın geliştirilmekte olan cihazdaki Xcode4'ten çalışmasına izin verdi.

Doğal olarak, ad hoc dağıtımlar için NO'ya geri ayarlamanız gerekir, ancak başka birinin aynı sorunla karşılaşması durumunda bundan söz edeceğimi düşündüm.


Teşekkürler - bu sonunda sorunumu çözdü.
EasyCoder

Teşekkür ederim! Bu beni öldürüyordu.
alan

"get-task-allow = NO", uygulamamın AdHoc ipa olarak dağıtıldığında iCloud'u görmesini sağladı.
Tertium

7
Bu arada, doğru işaret kimliğini Project'te değil, Hedef -> Oluşturma Ayarları'nda tam olarak belirttiğinizden emin olun . Hedef , Projeyi geçersiz kılar . Bunu unuttum ve 0xE8008016 hata mesajı aldım.
Tertium

Bir şey daha var, uygulamanız yetkilendirmelerde 'iCloud Anahtar-Değer Deposu' kullanıyorsa, Hata Ayıklama sürümü için bu anahtarı kaldırmanız gerekir. Aksi takdirde uygulama cihazınızda çalışmaz ve 'get-task-allow' seçeneği YES olarak ayarlanmış olsa bile bu hatayı vermeye devam eder.
15:15

50

Xcode 4.2.1 ile bu sorunu yaşadım.

Benim için Entitlements dosyası veya Ad-hoc ile ilgisi yoktu ...

Eski bir projeye dönüyordum ve yeni iPhone'umu provizyona eklemeyi unutmuştum.

Aptalca bir hata değil, aynı zamanda aptalca bir hata mesajı ...: - /


7
Görünüşe göre ikimiz de yaptığımız aptalca bir hata.
Patrick Bassut

5
Keşke bu problem için +2, ne saçma bir hata mesajı alabilseydim. Gönderiniz olmasaydı saatlerce araştırırdım.
Wesley Smith

Gösterdiğiniz için teşekkürler, ben de bu saçma hatayı yaptım. sonunda çözüldü.
Gaurav

44

React-native kullanıyorsanız, Test hedefinin ana hedefle aynı sağlama profiline sahip olduğundan emin olun.


3
Çok teşekkürler, günümü kurtardın
Julien Athomas

Pastırmamı kurtardın
Theo Bendixson

Çok teşekkür ederim. Günümü kurtardın. :)
pratik

Yorumunu görene kadar bununla savaşan bir saat gibi oldum, teşekkürler !!
ivmos

Bu yoruma rastlayana kadar içimde ölmüştüm.
Köpek

29

Bu sorunu iCloud yetkileriyle yaşadım. Sorunum, Hazırlık Portalı'nda Uygulama Kimliğim için iCloud'u etkinleştirmeyi unuttum.

Uygulama Kimliğiniz için iCloud'u etkinleştirdikten sonra temel hazırlık profillerini yeniden oluşturmanız gerekir.


1
Bu hatayı bana tekrar yaşadım. Yeni cihazımı geliştirme ön hazırlık profiline eklemem ve ardından listeyi Xcode'da yenilemem gerekiyordu.
adjwilli

Aynı sorun vardı. Bu uygulama etkinleştirildiğinden ve daha önce geçici dağıtım için çalıştığı için garip.
raeldor

Uygulamam iCloud dokümanlarına eriştiği için iCloud ile ilgili yetkilerle ilgili sorun yaşadım. Yetenekler bölümünde iCloud yetkilerini güncellemem gerekti.
user3300864

20

Yetkiler dosyanızı Hedef> Oluşturma Ayarları> Kod İmzalama> Kod İmza Yetkileri'nde saklayın.

Hedef> Yetenekler'e gidin. Özelliklerden birini Açık / Kapalı veya Kapalı / Açık olarak değiştirin.

Çalıştırmak.


Bu benim için çalıştı. ama yine ayar ayar sayfasında sağlama profili seçmek zorunda.
Rinku

1
Bu benim için çalıştı. İlişkili Etki Alanları benim için değiştirildi. Ben kapattım ve sorun çözüldü.
BigRon

19

Benim için işe yarayan, yetkiler dosyasını gruplar listesinden ve hem Proje hem de Hedef Oluşturma Ayarlarından tamamen silmekti. Sonra hedefte Özet sekmesinden yetkileri yeniden oluşturdum ve herhangi bir hata mesajı olmadan iyi yüklendi.


Yukarıda belirtildiği gibi, Yetki değeri Derleme Ayarları'nda da manuel olarak silinmelidir
petershine

1
yetkiler dosyasını silmek ve tekrar eklemek benim için çalıştı - ben de temiz yaptım
Jasper

Bu benim anahtarımdı! Hem Proje hem de Hedef Oluşturma Ayarlarını kontrol ettim. Kod İmzalama bölümünde "Kod İmza Yetkileri" ayarı vardır - Genişlettim, hem hata ayıklama hem de serbest bırakma satırlarını vurguladım ve Delete tuşuna basın. Bu, daha sonra uygulamamın hatasız olarak oluşturulmasına izin verdi. Ancak, yine de hata ayıklamayacak - hemen konsoldaki bir mesajla çıkıyor, aramam gerekecek.
Jay Imerman

1
Bu, iOS8 için HealthKit "fit" uygulamasını çalıştırmaya çalışırken de işe yaradı - yetkiler dosyasında ek bir tanımlayıcı dizesi vardı. Kaldırıldığında, bu iş parçacığında belirtilen diğer adımları
Alex Stone

Bu, iCloud ile ilgili sorunumu çözdü. Entitlements dosyasında orada olması gerekmeyen birkaç ekstra ayar var gibi görünüyor. Bunları ve tümünü silmek ve Genel sekmesinin yeniden yapılandırılmasını sağlamak.
AndyDunn

15

Sadece 5 sentimi buraya koyuyorum. Benim için yukarıdakilerin hiçbiri işe yaramadı, bu yüzden strese girmeye zorlandım ve aslında sürecin her bölümüne taze gözlerle bakmaya zorlandım.

Bunu acele ederken uygulamamı tamamen yeni bir cihaza yüklemeye çalıştığımı unuttum.

Bu yüzden benim hatam, provizyon profilini, Temel Hazırlık Portalı'ndaki provizyon profili kurulumunun "Cihazlar" bölümünde işaretleyerek yeni profilimi güncellememiş olmamdı.

Görünüşe göre cihazınızı ön hazırlık profiline dahil etmemek de bu hata mesajını üretir.


Kabul et - ön hazırlık profiliniz doğru değilse bu hatayı alabilirsiniz.
Matt

12

Birçok cevabın hiçbiri benim için 0xE8008016 hatasını düzeltmedi.

Ancak Xcode 4> Organizer> Cihazlar> Temel Hazırlık Profilleri'nde "Otomatik Cihaz Hazırlama" yı seçtiğinizde, sonunda çalıştı.


1
Kayalar! Benim için de çalıştı. Uygulamanın başlangıçta XCode 3 ile geliştirilip daha sonra 4.2'ye getirildiğinden, yukarıdakilerin hepsinin bir kombinasyonu olduğunu düşünüyorum, Entitlements.plist dosyasını projeden kaldırdım, Build Settings / Code'daki kod imzalama yetkileri girişini sildim İmzalama bölümünü seçin, ardından ön hazırlık profilini otomatik olarak ayarlayın. Sonuncusu yaptı.
Jay Imerman

Bu da benim sorunumdu, ancak otomatik olarak yanlış ön hazırlık profilini seçiyordu ve doğru olanı manuel olarak seçerek sorun düzeltildi.
Abhi Beckert

1
Bunu benim için yaptı. Birkaç iOS Geliştirici Ekibi ön hazırlık profilinin nasıl kaldırıldığından emin değilim, ancak Yetkilendirilen Profiller sayfasında yenile'yi tıkladığınızda bu hatayı benim için çözdüm.
sean808080

11

Benim durumumda bu aptalca bir hataydı. "Hata ayıklama" veya "Sürüm" yerine "Dağıtım" derleme yapılandırması kullanmak için "Çalıştır" düzeni yanlış ayarlayın. Aptalca bir hata, ama hata ayıklamak biraz zaman aldı, bu yüzden yığın taşması içindeki bilgi tabanını geliştirmek için cevabımı ekleyeceğim!


10

Temel hazırlık profillerinizi silin, bir 'Tümünü Temizle' yapın, temel hazırlık ayarınızın doğru olduğundan emin olun, yeniden indirin ve tekrar çalıştırmayı deneyin.


Hangi Xcode sürümünü kullanıyorsunuz? 4.0 ise, bununla ilgili sorunlar var. Xcode'u veya Mac'inizi yeniden başlatmanız gerekebilir. Temel hazırlık ayarlarının hem projede hem de hedefte doğru olduğundan emin olun. Ancak hedef belirleme Proje üzerinde önceliklidir.
W Dyson

Ben onun cihaz ile ilgili bir sorun olduğunu, onun Verizon bir iPhone 4, ve aynı ön hazırlık profili ile, benim iPad için bir uygulama dağıtabilirsiniz .. başka kimse Verizon bir iPhone 4 ile bu sorunu vardı?
Richard

Eski bir ön hazırlık profili mi kullanıyorsunuz? Verizon iPhone'u Temel Hazırlık Portalı'na bir aygıt olarak eklemeniz ve ardından geliştirme profilini güncelleştirmeniz, yeni profili yeniden indirip yeniden yüklemeniz gerekir. Bu işe yaramazsa, daha fazla bilgi sağlamanız gerekir.
W Dyson

Dün ön hazırlık profilini oluşturdum, bu nasıl eski olabilir? Apple sadece geliştirici isteğimi onayladı, bu yüzden yepyeni oldu. Her neyse, iOS 4.3'e güncellediğimizde nasıl çalıştığını göreceğim.
Richard

'Temiz' benim için yaptı. -_-
Cœur

5
  1. Safari'de 'iOS Hazırlama Portalı'nı açın.
  2. Kenar çubuğundaki 'Cihazlar'a dokunun.
  3. Cihazınızın UDID'sini kaydedin
  4. 'Temel Hazırlık Profilleri'ne dokunun
  5. Uygulama profilinizi düzenleyin.
  6. Yeni eklediğiniz cihazı seçin.
  7. .Mobileprovision dosyasını indirin.
  8. Yükle.
  9. Tekrar derleyin.

4

Uygulamamda da aynı sorunu yaşadım, birkaç ay sonra bu uygulama iyi çalıştı.

Sorun, Xcode projemde yapılandırılan Yeteneklerin (Hedefler -> {ProjeAdı} -> Yetenekler altında) sağlama profilinde yapılandırılan Yeteneklerle aynı olmamasıydı (Apple üye merkezinde Tanımlayıcı -> Uygulama Ids -> {uygulama kimliğiniz}. Üye merkezinde Game Center'ın etkin olduğunu gördüm ve bu yüzden projemde Game Center'ı da etkinleştirdim. Daha sonra uygulama başlatılabildi.

Şimdiye kadar nasıl çalıştığını bilmiyorum. Bu hala bir gizem :)


Artık push bildirimlerinin artık çalışmadığını fark ettim. Xcode'daki Oyun merkezi yeteneklerini kaldırdım. Uygulama şimdi çalışıyor, ancak push bildirimleri artık gelmiyor. Nedenini bilen var mı?
bobsacameno

4

Benim için Hedef'teki "İmzalamayı otomatik olarak yönet" seçeneğini işaretleyin sorunu çözün!



3

Sertifikalarla ilgili hiçbir şeyi değiştirmediyseniz (değiştirmediyseniz veya güncellemediyseniz) sadece bir Product -> Clean. Bana birkaç kez yardımcı oldu. (Xcode 6.2)


2

XCode 4'e yükseltme sorunu çözdü.


1
Ben XCode 7.3.1 hata var gibi, bir XCode sürümüne özgü sorun gibi görünmüyor. Hazırlık profilini silmek ve sorunu çözmek için XCode tercihlerinden aynı dosyayı yeniden indirmek zorunda kaldım.
Ian Pinto

@IanPinto katılıyorum. Bunun kabul edilen cevabın ana nedeni, benim için işe yaradığı şeydi . Artık gerçekten çok kullanışlı bir bilgi değil ve bu yazıda diğer cevapların çoğunu iptal ettim, çünkü hepsi gelecekte buna bakan insanlar için süper değerli bilgiler içeriyor. SO üzerinde kendi kendine cevaplar hakkında iyi bir şey, otomatik olarak yığının üstüne itilmemesidir, bu yüzden pek çok insan bu yanıtı görmeyecek :)
Richard J. Ross III

2

Bugün bu problemle karşılaştım ve saçımı çözmeye çalışıyordum. Buradaki birçok kişi gibi, yetki dosyamdaki iCloud seçeneklerini kaldırırsam işe yarardı. İCloud seçenekleri etkinken uygulamada hata ayıklamaya gittiğimde 0xe8008016 hatası alırdım. Bu, yeni sertifikaları iptal ettikten ve yeniden oluşturduktan hemen sonraydı.

Benim için çözen şey, otomatik olarak oluşturulan Xcode takım profili için iCloud desteğini açmaktı. Çevrimiçi temel hazırlık aracında oturum açın, onay kutusunu işaretleyerek iCloud'u etkinleştirin , tıklayın App IDs, tıklayın Xcode iOS Wildcard App ID, tıklayın, editnihayet tıklayın Done. Xcode'daki profillerinizi yenileyin, ardından çalışmaya başlayacaktır.

Bu bir anlam ifade eder - hata ayıkladığınızda varsayılan olarak ekip profiline ayarlanır ve ekip profilinin iCloud'un açık olması gerekir.


1
EVET! Bu benim sorunumdu ve All Apps ID'de iCloud'u etkinleştirmek işe yaradı. Çok teşekkürler
Guy Moreillon

2

Yanlışlıkla yerel test için bir uygulama mağazası dağıtım ön hazırlık profili kullanmaya çalışırken bana oldu. Uygun geliştirme profilini kullandığımda gayet iyi çalıştı. Belki bu da birine yardım eder.


App Store'a yüklenen uygulamanın profilini test etmek istersem ne yapabilirim? Bunu yapmanın bir yolu var mı?
bobsacameno

2

Bu benim için çalıştı ...

  1. EntitlementsDosyayı 'dan sildim target.
  2. Uygulamayı tüm cihazlarımdan sildi
  3. Cleaned Xcode'daki yapı
  4. * İsteğe bağlı ön hazırlık profilini silin ve yeniden ekleyin

Umarım sizler için de çalışır :)


Entitlements dosyasını hedeften sildi, benim için çalışıyor. Ama bunu yapmanın en iyi yolu bu değilse.
YuAn Shaolin Maculelê Lai

2

Sorunum bu şekilde çözüldü: Hedefler oluşturma ayarlarının Kod İmza Yetkileri bölümündeki yolu silme.


'Nasıl yapılır' açıklaması lütfen?
Ajan Zebra

@AgentZebra Ana Proje dosyasına tıklayın> "Hedefler"> Oluşturma Ayarları> İmzalama> Kod İmza Yetkileri'nden uygulamanızı seçin, orada gösterilen değeri silin.
weienw

2

Apple geliştiricisinden ön hazırlık profilim Xcode yeteneklerimle eşleşti, ancak aşağıdakileri yapana kadar cihazımı oluşturmayacaktı:

  1. Xcode projenizden yetkiler dosyasını kaldırın / silin.

  2. Xcode özellikleri sekmesine geri dönün

  3. Xcode'un yetkilendirmeler dosyasını yeniden eklemesini sağlamak için "Sorunu Düzelt" düğmesine basın.

Benim için çalıştı, umarım birisine yardım eder.


2

Xcode 8'de bana oldu, kısmen yeni Provisioning Profileoluşturma ayarından kaynaklandı, çünkü bu Xcode sürümünde ön hazırlık profili için iki giriş var:

  • Hazırlık profili
  • Temel Hazırlık Profili (Kullanımdan kaldırıldı)

Benim hatam, sadece ilkini güncelledim ve kullanımdan kaldırılmış giriş hala geçersiz bir sağlama profiline işaret ediyordu. Her ikisini de aynı değere değiştirmek sorunu çözdü (kullanımdan kaldırılmış girişi silmek de aynı etkiye sahip olmalıdır).


1

Benim durumumda, Xcode (gizlice) Şemayı sıfırlıyor gibi görünüyor. Arşiv için derleme yapılandırmasının dağıtım bir yerine Yayın olarak ayarlandığını gördüm ve doğru olana değiştirdikten sonra işe yaradı.

Düzenleri yanı sıra Düzenleri kontrol etmek daha iyi olduğunu düşünüyorum.


1

Eski bir projem ve aynı problemim vardı ve çözdüm.

1. özet gidin 2. özeti
anahtarlık grupları var ve anahtar gruplarının nesnesini silin.

Umarım işinize yarayacaktır. Saygılarımızla.


1

xcode 6 kullanıyorum ve belirli bir iphone 4 için bu sorunla karşılaşıyorum

son olarak, cihaza gidiyorum => provizyon profili =>

ve profili manuel olarak eklediğinizde sorun giderildi.


1

Xcode 5.1'de benim The entitlements specified in your application’s Code Signing Entitlements file do not match those specified in your provisioning profile.için uygulamayı cihazımda test etmeye çalışıyordum. Cihaz Geliştirme Sertifikası'nın Şubat 2015'te sona ermesi gerekiyor.

Sorun çözüldü:

Target->CapabilitiesGameCenter altında seçildi , burada ilk XCODE 5.1 ​​sürümü yayınlandı, ancak daha önce böyle bir hata yoktu, ancak GameCenter yetkilendirme projeye eklenmedi hatası alıyordum.

Aşağıda başlıklı bir düğme verilmiştir Fix Issue. Tıklandığında GameCenter yetkisi eklendi ve sorun çözüldü.

Servislerden sonra ekran şöyle görünür:

resim açıklamasını buraya girin

Benim için sertifika ile ilgisi yoktu. Uygulama artık cihazda başarıyla çalışıyor.


1

Bu hata iletisini atacak bir olası sorun daha var: Ana uygulamanız için mükemmel şekilde geçerli bir ön hazırlık profili kullanıyorsanız, ancak Bugün widget uzantınız için süresi dolmuş veya başka bir şekilde geçersiz ön hazırlık profiliniz varsa. Apple saat uzantısı için de aynı olacağını düşünüyorum.

Tüm profilleri kontrol edin!


1

Anahtarlık Erişimini Kontrol Edin!

Benim durumumda ön hazırlık profiliyle ilişkili yanlış dağıtım sertifikası kullanıyordum.


1

Üzerinde çalıştığım kod, Info-plist'te, Product Bundle Identifier derleme ayarından .

Bu mesajı cihazlar görünümünde cihaz konsolunda fark ettiğim için buldum:

MIS: entitlement 'application-identifier' has value not permitted by provisioning profile 'iOS Team Provisioning Profile: com.xxx.yyy'


0

İCloud senkronizasyonunu etkinleştirmeye çalışıyorsanız, geliştirme ön hazırlık profilini oluşturmak için kullanılan AppID için (Xcode'un otomatik olarak yaptığı) iCloud'u etkinleştirmeniz gerekir. Dağıtım profilleri için de bunu etkinleştirmeniz gerekir.

Zor kısmı, Xcode'daki profilleri yenilediğinizde, profillerin yenilenmesini tetiklememesidir; bunlar yeniden indirilir. Dolayısıyla, Temel Hazırlık / Geliştirme altındaki iOS Temel Hazırlık Portalınızda, etiketli profili (Xcode tarafından yönetilir) kontrol etmeniz ve silmeniz (Seçileni Kaldır düğmesi) gerekir. Bunu, yeniden oluşturmanız gereken TÜM profiller, geliştirme ve dağıtım için yapın.

Şimdi, Düzenleyici'deki Xcode'da, değiştirmek üzere olduğunuz hazırlık profillerini silin.

Şimdi yenilerini almak için. Birden fazla ekip için geliştiriyorsanız ve yalnızca belirli bir takımı yenilemek istiyorsanız, TAKIMLAR altında sol bölmeden uygun Ekibi seçin, aksi takdirde KÜTÜPHANE altında Temel Hazırlık Profilleri'ni seçin, ardından Yenile'yi seçin.

Son olarak, profiller hiçbir zaman otomatik olarak silinmediğinden, cihazınızdaki yenileriyle çakışabilecek eski ön hazırlık profillerini kaldırın; daha yeni profiller listeye eklenir.

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.