Yürütülebilir dosya, Xcode'da geçersiz yetkilerle imzalanır


Yanıtlar:


102

Bu sorunla bir saat uğraştım ve sonunda bir düzeltme buldum. Geliştirme Ekibinin Proje Hedefi ve Proje Testlerinde farklı olduğu ortaya çıktı.


13
Çok teşekkürler! Bu bana yardımcı oldu ve çok zaman kazandırdı!
Marky

Vaov! Teşekkürler @Krish
Kqtr

efendim, az önce perşembe günümü kurtardınız, yeterince teşekkür edemem
Samer Murad

Proje Hedefini ve Proje Testlerini nerede bulabilirim?
Pablo

Ah! buldum! günler ve bu sadece bu kurulumu boşa harcadı! ??
Pablo

77

Xcode'u yeniden başlatmak benim için işe yarayan şeydi.


15
Böylece Xcode, Microsoft evrensel düzeltmesini benimsedi. ;) Kayıt için, bu hala bir sorundur ve yeniden başlatmak hala düzeltmedir (v7.3.1 kullanıyorum).
Eric Soyke

3
başka +1, bu problemle tekrar yüzleş, sonra google onu, buraya geldim.
jayellos

Saatlerce her ayrıntıyı kontrol ettikten sonra ... bu XCode 8'de çalıştı
Matej Ukmar

Herkesin bu soruna sağlam bir çözümü var mı !!!!, Tüm bu çözümlerin hepsi durumsal çözümlere benziyor. Lütfen yardım et.
Maksimum

Aslında proje geliştirme ekibi ile proje testi geliştirme ekibini aynı yapmak benim için çalıştı
Tahmid Rahman

35

Sorunu buldum. Developer.apple.com adresinde oluşturduğum uygulama, uygulamalar arası ses içermiyor. Xcode üzerindeki proje yetkilendirmeleri plist dosyası, uygulamalar arası ses ayarına sahiptir (varsayılan olarak). Uygulama içi sesi etkinleştirmek için developer.apple.com adresindeki uygulama yapılandırmamdaki ayarı değiştirdim. Ardından uygulamam cihazlarımda çalışıyor. Sanırım bu, Apple'ın uygulama ayarlarınızı hem developer.apple.com hem de xcode proje ayarınızda tutarlı hale getirecek yeni kuralı.


10
Inter-App Audio özelliğini AÇIK ve ardından tekrar KAPALI konuma getirdim ve bu şekilde uygulama çalıştı ... WT *?
Ferran Maylinch

Vay canına, inanılmaz. Yine de uygulanabilir bir düzeltme, benim için Uygulama Grupları yeteneğiydi.
Keller

Burada aynı! Bu çok tuhaf. Sanırım düzeltmek için herhangi bir yeteneği değiştirebilirsin.
Andre Simon

Hala aynı sorunla karşılaşan her şeyi denedim!, Herhangi bir öneri
Max

24

Bunu, Xcode 5'te "Game Center" yetkisini açıp kapatarak çözebildim :-)


5
TEŞEKKÜR EDERİM! Cevabını bulana kadar bu sabah ne kadar hayal kırıklığına uğradığımı bilemezsin. Kesinlikle benim için düzeltti.
Gasper Kolenc

1
Lütfen Xcode'un sizin için bir ön hazırlık profili oluşturacağını ve özel oluşturma sağlama profilinizi geçersiz kılacağını unutmayın.
Van Du Tran

@VanDuTran hayır, olmayacak.
Nik

Bu, bir Xamarin uygulamasında ve Mac için Visual Studio'da meydana geldi. Yani sadece Xcode ile izole edilmiş değil.
Dan Beaulieu

19

Uygulama Testleri hedefini ana uygulamayla aynı temel hazırlık profilini kontrol edip ayarlayana kadar hiçbir çözüm işe yaramadı. Veya otomatik şarkı söylüyorsanız, Testler hedefinde aynı takımın seçildiğinden emin olun.


Çok iyi bir nokta, bu, ana hedefte takımınızı değiştirdiğinizde ancak test hedefinde değiştirmediğinizde olur. Test hedefindeki ekibi ana hedefteki ekip olarak değiştirmek benim için sorunu çözdü.
dan

Teşekkürler!! Sonunda benim için düzelten şey buydu. Haklar tam bir kırmızı ringa balığı idi.
Reid

19

XCode 10 için eski yapı sistemini kullanmak gerekebilir

Dosya / Proje Ayarlarından değişiklik yapılabilir. HATA ITMS-90174: "Eksik Temel Hazırlık Profili - iOS Uygulamaları, embedded.mobileprovision adlı bir dosyada bir ön hazırlık profili içermelidir."

Bir cordova / iyonik duyuru: https://github.com/apache/cordova-ios/issues/407


1
Cordova / Ionic kullanıcıları için, oluşturulan Xcode projenizi, burada ayrıntılı olarak açıklandığı gibi "Dosya> Proje / Çalışma Alanı Ayarları" ile eski modu kullanacak şekilde değiştirmeniz ve Eski Yapı sistemine "geçmeniz gerekebileceğini eklemek ister: stackoverflow.com/a / 52605878/2503520
Vyrnach

12

En son Xcode için çözüm :

Öncelikle , belirli Uygulama Kimliğiniz için Üye merkezinizde neyin etkinleştirildiğini kontrol etmeniz gerekir :

görüntü açıklamasını buraya girin

Sonra Xcode sizin uygun hedef Mecbur etkin Bu durumda:: Aynı yetenekleri App Group, Game Center, In-App Purchase. Hepsi Xcode Kendi hedef etkinleştirilmesi gerekir.

görüntü açıklamasını buraya girin

Ancak DEBUG modu için önemli değil :

görüntü açıklamasını buraya girin

SÜRÜM modunuz için çok önemlidir : görüntü açıklamasını buraya girin

Not Game Centerve In-App Purchasevarsayılan olarak etkindir Üye Merkezi'ne ancak Xcode hedefi olarak devre dışı bırakılır.


3
Oyun merkezini ve uygulama içi satın alımları developer.apple.com'dan kaldırmak mümkün müdür?
Noitidart

12

Sanırım sorununuz xCode4.6 kullandığınız ve şimdi xCode5 kullandığınız profilden kaynaklanıyor.

XCode> Tercihler> Hesaplar aracılığıyla sertifikaları / ön hazırlık profillerini yenilemeniz gerekir

XCode> Tercihler> Hesaplar> DEV HESABINIZI tıklayın> Ayrıntıları Görüntüle düğmesi (sağ altta)> Iden / PPs İmzalama ekranı görüntülenir> Yenile'ye basın.

Ardından, doğru profili oluşturma ayarlarından tekrar seçin ve projenizi temizleyin ve oluşturun.

Umarım bu size yardımcı olur.


1
Yardımınız için teşekkürler. Sorunu buldum. Developer.apple.com adresinde oluşturduğum uygulama, uygulamalar arası ses içermiyor. Xcode üzerindeki proje yetkilendirmeleri plist dosyası, uygulamalar arası ses ayarına sahiptir (varsayılan olarak). Uygulama içi sesi etkinleştirmek için developer.apple.com adresindeki uygulama yapılandırmamdaki ayarı değiştirdim. Ardından uygulamam cihazlarımda çalışıyor. Sanırım bu, Apple'ın uygulama ayarlarınızı hem developer.apple.com hem de xcode proje ayarınızda tutarlı hale getirecek yeni kuralı.
Emmy

6

Uygulamanın Xcode5'teki yeteneklerini şu şekilde eşleştirmem gerekiyordu:

Capabilities -> 
In-App purchase -> ON
Game Center -> ON

bununla birlikte provizyon profilinde.


Ayrıca APN'lerin "Geçersiz belirteç" hata yanıtını da çözdü.
hiroshi

oyun merkezi yetkisinin eklenmesi ve geri alınması benim için de işe yaradı. Neden olduğuna dair hiçbir fikrim yok.
Rukshan Marapana

5

xcode 6.1 (HealthKit örneği)

HealthKit entegrasyonu nedeniyle bu hatayı alıyordum: Uygulama İçi Satın Alma'yı etkinleştirdim, Game Center ve Healkit sorunumu çözdü .. Aynısı Hazırlık profilinde etkinleştirdim.

görüntü açıklamasını buraya girin

görüntü açıklamasını buraya girin


Anahtar zinciri paylaşımı için de aynısını yapmak zorundaydı. Ayrıca bir uygulama uzantım vardı, çalışmasını sağlamak için her iki yerde de yapmak zorunda kaldım.
CaseyB

5

(Xcode 6.1)

Benim için sorun Derleme Ayarlarımdaydı; Bir cihaza dağıtım yapmaya çalışırken Temel Hazırlık Profilimi bir App Store Üretim Profiline ayarladım. "Otomatik" olarak değiştirdim ve sorunumu çözdü. Bunu ayrıca Geliştirici Sağlama Profilinize de ayarlayabilirsiniz.

Ayrıca 2 Sertifikam var, bu yüzden ikinci Sertifikamı geliştirici provizyonuma ekledim. Başkalarının muhtemelen bu sorunu olmayacak.


Teşekkürler! Onu 'Otomatik'e
çevirmek

Otomatik olarak değiştirilmesinin düzeltmesi garip, ama benim için işe yaradı. Temel hazırlık profilimi com.mycompany. * Olarak ayarladım ve bu hatayı alıyordum. Yetenekler sekmesinin altında kırmızı FixMe vardı, ancak bu sorunu çözdükten sonra hala geçersiz yetkilendirme hatası alıyorum. Daha sonra com.mycompany. * Ön hazırlık profilimi otomatik olarak değiştirmeyi denedim ve bu sorunu düzeltti. BundleID'nin com.mycompany.blabla olduğunu iki kez kontrol ettim, bu yüzden bir tür Xcode hatası gibi görünüyor. Xcode 6.3.2 kullanıyorum.
Jim Range

5

Xcode 10'a güncellediğimde benzer bir sorun yaşadım, Dosya> Proje Ayarı'na gitme sorununu çözdüm, "Yeni Yapı Sistemi" seçeneğinde "Eski Yapı Sistemi" ni seçin. Bu benim için hile yaptı, umarım bu birine yardımcı olur.


4

Basit temizle ve inşa et, benim için düzeltmiş gibiydi.


Bu benim için de bir düzeltmeydi.
Enijar

4

Bu problem benimle aynıysa, hedef projenizde unittest'te set takımı unutabilirsiniz, bu resmi deneyin

görüntü açıklamasını buraya girin


3

Bütün silerek bu çözmek "PROVISIONING_PROFILE=..."ve "PROVISIONING_PROFILE[sdk=iphoneos*]" = ...içinde project.pbxproj ve tekrar hedefe yönelik Xcode ve seti hazırlık profillerini yeniden başlatın.


3

Xcode'u yeniden başlatmak işe yaramazsa, yeni bir ön hazırlık profili oluşturun ve test cihazlarınızı dahil ettiğinizden emin olun.


Yeniden başlatma / temizleme benim için işe yaramadı, ancak sonra yeni test telefonumu oluşturmak için kullandığım Ad Hoc profile eklemediğimi fark ettim. Güncellenmiş bir profili yeniden oluşturdum / indirdim ve hata ortadan kalktı. Not: Bunu yaptıktan sonra bir "güvenlik" hatası alabilirsiniz; bu, cihazın uygulamaya yetki vermenizi gerektirdiği anlamına gelir, "geliştiriciye güven" uyarısının etkinleştirilmesi için cihazdaki uygulamaya dokunmanız yeterlidir.
SafeFastExpressive

3

Benim durumumda cihaz eklenmedi. Bu yüzden cihazı eklemem ve yeni bir ön hazırlık profili oluşturmam gerekiyordu.


3

Kontrol edilecek başka bir şey - her ikisinde de doğru varlıkların seçildiğinden emin olun

Hedefler -> Hedefiniz -> Oluşturma Ayarları -> İmzalama

ve

Proje -> Projeniz -> Derleme Ayarları -> Kod İmzalama Varlığı

Birinde tam bir geliştirici profili seçtiğimde ve diğerinde farklı (geliştirici olmayan) bir Apple Kimliği seçildiğinde, uygulamada herhangi bir yetki talep edilmemiş olsa bile bu mesajı aldım.


2

Xcode içinde küçük bir hata gibi görünüyor. Yine de arşivlemeye çalışın , bir sorun olsa bileentitlements . Haklarınız uygunsa, sorunsuz bir şekilde yüklenecektir. Apple bunu kabul eder ve uygulamanız AppStore'da yayınlanacaktır.

Ben yaptım ve işe yaradı :)



1

XCode 5'te de aynı sorunu yaşadım. Bu yine de bana yardımcı oldu.

XCode > Preferences > Location tab > DerivedData

Finder'da DerivedData'yı açmak için küçük bir sol oka basın. Projenizin çöp klasörüne gidin ve yeniden oluşturun.

Ekran görüntüsü


Sanırım türetilen verileri silmenin sorunu neden çözeceğine dair uygun bir mantık bulunmalıdır.
Kavita

1

Bir sorun vardı. Çöz: doğru hedefe git -> yetenekler -> benim için "Uygulama İçi Satın Alma" ile ilgili bir sorun ve bunu düzeltmek için bir düğme vardı. Kapalı çalışma sorunu düzeltildi.


1

Benim durumumda: Uygulama İçi Sesi etkinleştirmem gerekiyor

Capabilities -> Inter-App Audio

Parse.com Bildirimini kullandığım için AudioToolbox.framework bağlantısına ihtiyaç duyduğumu düşünüyorum.


1

Yetenekleri Etkinleştirme -> Uygulama İçi Ses bu sorunu benim için de çözdü. Ayrıştırma yoluyla push bildirimleri göndermeye de çalışıyorum


1

Buradaki cevaplar biraz yetersiz görünüyor, bu yüzden iki sentimi ekliyorum:

Gerçek çözüm, temel hazırlık profilinizde saklananlar arasında genellikle bir uyumsuzluk olmasıdır (developer.apple.com -> üyeler -> sertifikalar -> kullandığınız sertifika [geliştirme / üretim olup olmadığını kontrol ettiğinizden emin olun) ve uygulamanızda neyin etkinleştirildiğini (proje adına çift tıklayın), yatay menü altında 'Yetenekler'i seçin (' Genel'in yanında).

Yakın zamanda bunlardan birini değiştirdiyseniz, sertifikalarınızı XCode -> Tercihler -> Hesaplar -> Ayrıntılar -> Yenile Simgesi altında yenilediğinizden ve XCode'u yeniden başlattığınızdan emin olun.


1

Benim durumumda APNS sertifikasının süresi dolmuş, süresi dolmuş sertifikayı kaldırın ve ön hazırlık profilini yeniden oluşturmak sorunu çözer.


1

Benim durumumda, Apple Geliştirici Lisans Sözleşmesini kabul etmem gerekiyordu.

Apple geliştirici hesabına giriş yapın ve aşağıdakine benzer bildirim mesajını izleyin.

"Apple Geliştirici Programı Lisans Sözleşmesi güncellendi. Belirli üyelik kaynaklarına erişmek için **** 28 Haziran 2016 tarihine kadar en son lisans sözleşmesini kabul etmelisiniz."

Daha önce, Yetenekleri, Hazırlama Profillerini, Sertifikaları vb. Değiştirdiğim / kontrol ettiğim halde iCloud Kapsayıcılarını Uygulama Kimliğine ekleyemiyor / düzenleyemiyordum. Sözleşmeyi kabul ettikten sonra işler sorunsuz bir şekilde çalışmaya başladı.

Umarım birisinin değerli zamanını kurtarır.


1

Son zamanlarda aynı sorunla karşılaştım. Hiçbirinin benim için işe yaramadığı birçok farklı tavsiyeyi okuduktan sonra nihayet kaputun altına girdim ve sorunun temel nedenini buldum.

Mobil sağlama dosyası aslında Xcode tarafından oluşturulan Yetkiler dosyasıyla eşleşmiyor.

Tüm dosyalar Apple aracıyla otomatik olarak anajlansa da, bunlar doğru değildir.

Ön hazırlık dosyasını Apple portalından indirirseniz ve açarsanız (bunu yalnızca sertifikanız tarafından imzalanmış bir plist dosyası olduğu için açabilirsiniz, böylece metin düzenleyici tarafından okunabilir) ve Entitlements dosyanızla (Xcode tarafından otomatik olarak oluşturulur ve proje dosyalarında bulunur) karşılaştırın. (böylece yine metin editörü tarafından okunabilir olan plist XML dosyasıdır.) Sonra farkı görebilirsiniz.

Benim durumumda bu Game Center yetkisiydi. Portalda işaretli olarak görüntülendi (varsayılan olarak işaretlendi), ancak gerçekte bu yetki mobil sağlama dosyasına dahil edilmedi. Bu yüzden, onu Yetkiler dosyasından silmek önemliydi.

Sonuç olarak, mobil ön hazırlık profilinin içeriği bazen APP ID yapılandırma sayfasında görüntülenenle eşleşmez.


1

Otomatik Temel Hazırlık Profili ile aynı sorunu yaşayanlar içinHedef Oluşturma Ayarlarında :

Hedef yetki dosyanızı düzenlerken çok dikkatli olun! Bu, otomatik olarak oluşturulan ön hazırlık profiliyle olan yazışmayı bozabilir ve bu hatayı alırsınız.

Benim durumumda, iCloud üretim kaplarını hata ayıklama yapılarıyla geçici olarak kullanmak zorunda kaldım. Bunu yapmak için ekledim

<key>com.apple.developer.icloud-container-environment</key>
<string>Production</string>  

yetkiler dosyasında ve bu işe yaradı!
Daha sonra bu satırları kaldırmam gerektiğini hatırlatmak için, aşağıdaki yorumu ekledim:

<key>TODO</key>
<string>The entry below must be out commented or deleted to use the iCloud development environment.</string>  

Ve bu yazışmaları kırdı ve hatayı oluşturdu .


Yetkilendirmeler dosyası nerede bulunur?
Noitidart

Proje klasörünüzdedir ve "Projeniz.entitlements" olarak adlandırılır. Bunu Xcode'un proje gezgininde bulabilirsiniz.
Reinhard Männer

Teşekkürler. Ben kontrol edene ve ardından "inter app audio" işaretini kaldırana kadar yaratılmamış gibi görünüyor. Developer.apple.com'da oyun merkezim ve uygulama satın alımlarım var ama kullanmıyorum, bunlar varsayılanlar. Bu yüzden xcode'daki yeteneklerimi "açık" olarak işaretledim, ancak ne olursa olsun "Yürütülebilir dosya geçersiz yetkilerle imzalandı." hata. :(
Noitidart

1

Uygulamamda Push bildirimi kullanıyorum ve geliştirme tamamlandıktan sonra sürüm yapılandırması için push bildirimini test etmeye çalıştım . O zaman bu hatayı aldım.

Yayınlanmak üzere çalıştırmak için Üretim Temel Hazırlık Profilini kullanıyordum . Bu yüzden Adhoc Provisioning Profile kullanarak bu hatayı çözebildim .

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.