Uygulamamı Instruments'ta başlatamıyorum: En az bir hedef başlatılamadı


98

Tüm kod imzalama yetkilerim doğru ayarlanmış. Uygulamayı telefonumda çalıştırmak sorun değil, ancak cihazlarda başlatmak bana bir hata mesajı veriyor:

Error Starting Recording
At least one target failed to launch; aborting run

Ve sonra:

Target failed to run. Permisson to debug [app name] was denied. The app must be signed with a development identity (i.e. iOS Developer)

Bunun olmasını nasıl önleyebileceğime dair bir fikrin var mı? İPad'imde olmuyor.

Yanıtlar:


217

Hedefiniz için şemayı düzenleyin ve "Profil [Uygulama Adı]" altında Derleme Yapılandırmasını Hata Ayıkla olarak ayarlayın (genellikle varsayılan olarak Sürümdür).


6
+1, teşekkürler, bu bana yardımcı oldu. Yapılandırmayı Debug olarak ayarladıktan sonra projeyi inşa etmem gerektiğini eklemeliyim, aksi takdirde Instruments hala top oynamayacaktı.
Robert

4
Bu "Config to Debug" ın yanlış olduğunu bilmeme rağmen, bu sorun için bir çarem yok. Genel olarak konuşursak, bir hata ayıklama yapısının profilini çıkarmak çok daha az kullanışlı / yaygındır.
user501138

1
Bunun nedeni, Sürümün genellikle Üretim sertifikası kullanmasıdır.
Evgeny Aleksandrov

Profil şemasının hata ayıklama yapılandırmasını (geliştirici profili) kullandığından emin oldum ve hala bu sorunla karşılaşıyorum. Bu bir kurumsal geliştirici sertifikası, ancak bunun önemli olmasını beklemiyordum. Düşüncesi olan var mı?
Brody Robertson

3
Ben de aynı problemle karşılaşıyorum. Uygulamanızda hata ayıklama yapılandırmasıyla profil oluşturmak geçerli bir performans testi değildir, çünkü derleyici kodu Adhoc için yaptığı gibi optimize etmedi. AdHoc sorununu çözen var mı?
Fergal Rooney

34

Uygulamayı bir geliştirici sertifikasıyla ( dağıtım sertifikasıyla değil ) imzalamanız gerektiğini söylüyor .

Xcode 5 yılında sadece değiştirmek "Provisioning Profile"sizin için alan "Release"içinde yapı oluşturun Ayarlar sizin için geliştirici sertifikası yerine dağıtım sertifikası. Yine de test süresi boyunca. Xcode, bir dağıtım sertifikasıyla derlemenize izin vermez.

Proje derleme ayarlarının hedef derleme ayarlarını geçersiz kılmadığından veya proje derleme ayarlarınızda değişiklik yapmadığından emin olun .

Testi tamamladıktan sonra profili tekrar ayarlamayı unutmayın .

Harrywynn'in yöntemini önermiyorum, çünkü sürüm yapısının profilini çıkarmak daha iyidir çünkü o zaman derleyici optimizasyonlarını hesaba katarsınız ve kullanıcılarınızın tam olarak alacağı deneyime sahip olursunuz.


1
İlk olarak, bir geliştirme profiline ihtiyacı var, bu yüzden hata ayıklama modunda olması gerektiği anlamına geliyor. İkincisi, Apple bunu dağıtım profiline değiştirmedikçe, geliştiriciler muhtemelen geliştirme yapılarıyla devam edecek. Üçüncüsü, profil oluşturuyorsunuz, bu bir geliştirme (Hata Ayıklama) yapısı olmalıdır. Dördüncüsü, bir Sürüm şeması için neden bir geliştirme profili kullanasınız?
Angelo

4
"Öncelikle, bir geliştirme profiline ihtiyacı var, bu yüzden hata ayıklama modunda olması gerektiği anlamına geliyor." Herhangi bir profil ile herhangi bir konfigürasyonu çalıştırabilirsiniz. "Üçüncüsü, profil oluşturuyorsunuz, bu bir geliştirme (Hata ayıklama) derlemesi olmalı" Derleyici optimizasyonlarını hesaba katmak için sürüm yapısının profilini çıkarmalısınız. Farklı sonuçlar alabilirsiniz. "Dördüncüsü, bir Sürüm şeması için neden bir geliştirme profili kullanasınız?" Çünkü bu sorunun en kolay çözümü budur. Cevabımda yazdığım gibi, test etmeye hazır olduğunuzda profili değiştirmelisiniz.
Zoltán Matók

9

Önceki cevaplara eklemek için.

  • Instruments, imza kimliğinden şikayet ediyor .
  • Zolten tarafından verilen aynı nedenlerden dolayı sürüm modunda profil oluşturmanın tercih edildiğine inanıyorum . (derleyici optimizasyonlarını hesaba katın ve kullanıcılarınızın tam olarak edeceği deneyime sahip olun, vb ...)
  • Xcode 6 için kod imzalama kimliğinizi değiştirmek için :
    • Projenize tıklayın, Profil oluşturduğunuz Hedefi seçin.
    • Derleme Ayarları -> Kod İmzalama -> Kod İmzalama Kimliği -> Yayın
    • İOS geliştirici profilinizi seçin.
  • Temel Hazırlık Profili: Xcode'un sizin için doğru Temel Hazırlık Profilini seçmesine izin verin, örneğin: Otomatik'e geçin
  • Profil ile işiniz bittiğinde normal ayarlarınıza geri dönün .

İşte çok görsel olanlar için bir resim;)

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


1

Aynı sorunu alıyordum: [INST STDERR] Araçlar İzleme Hatası: Hedef çalıştırılamadı: Hata ayıklama izni reddedildi. Uygulama bir geliştirme kimliğiyle (örn. İOS Developer) imzalanmalıdır.

Çözüm: 1. Uygulamayı Hata Ayıklama Geliştirici Profili ile aygıt için xcode'da arşivledim. 2. Tüm arşiv listesini görmek için Pencere -> Düzenleyici -> seçeneğine gidin 3. Şimdi dışa aktarmak istediğiniz arşivi seçin ve bulucuda açın 4. Paket içeriğini sağ tıklayın ve gösterin 5. Ürünler / Uygulamalar klasörüne gidin .App dosyasını göreceksiniz.

Bunu ipa yerine kullanın.

Yukarıdaki adımların çalışması için cihazın geliştirici portalına zaten eklendiğinden ve tüm sertifikaların cihaza yüklendiğinden emin olun.

Bu bir kez yerine getirildiğinde. Ayrıca, aşağıdaki bağlantıdan ios-webkit-debug-proxy'yi aldığınızdan emin olun:

https://github.com/appium/appium/blob/master/docs/en/advanced-concepts/ios-webkit-debug-proxy.md

Ayrıca, cihaz ayarında geliştirici araçlarını etkinleştirin. Ayrıca, safari web araştırmacısı (safari -> Geliştirme) -> Müfettişin açık olduğundan emin olun, Umarım yardımcı olur :-)

NOT: appium'un uygulamayı sizin için cihaza yüklemesini istediğinizde, Paket Kimliği sağlamayın.


Uygulama dosyası, Ürünler -> Uygulamalar altında, Paket içeriği
swathy valluri

0

Bunu yaparak makinemde bu sorunu çözmeyi başardım:

  • Listedeki aygıtınızla yeni bir Geliştirici Sağlama Profili oluşturun veya en azından makinenizin profil aygıtının listesinde olduğundan emin olun.
  • Proje ayarlarında -> Kod İmzalama -> Ön Hazırlık Profili -> Hata Ayıklama: Yeni oluşturulan profili ayarlayın.
  • Hedef ayarlarında -> Kod İmzalama -> Ön Hazırlık Profili -> Hata Ayıkla VE Serbest Bırak: Yeni oluşturulan profili ayarlayın.

Umarım yardımcı olur.


0

"En az bir hedef fırlatılamadı" ın ne anlama geldiğini anladım. Görünüşe göre hem geliştirme hem de sürüm şemaları (bir hata ayıklama şemanız ve bir yayın şemanız varsa) bir geliştirme kimliğine sahip olmalıdır.

Profil oluşturucuyu çalıştırırken hata ayıklama şemasını seçtim ve XCode'un üstündeki mesaj "Hata ayıklama çalıştırılıyor" dedi. Ancak bu yeterli görünmüyor.

Sürüm şeması kod imzalama kimliğimi hata ayıklama şemasıyla (ve ayrıca ön hazırlık profiliyle) aynı olacak şekilde değiştirdim ve sorun ortadan kalktı.


0

işe yarıyor .. profil şemamı hata ayıklama moduna değiştirdiğimde ve ayrıca build configs'in içinde geliştirici sertifikası olduğundan emin olduğumda. Teşekkürler


0

Buradaki diğer çözümlerden hiçbiri sorunumu çözmedi, ancak simülatörde bunun sadece benim için bir sorun olduğunu belirledim. Cihaz iyi çalışıyor. Belki de simülatörle ilgili bir sorun vardır.


0

Bu sorunla hem simülatörler hem de cihazlar için Xcode 9.1 ile karşılaştım ve çalıştırma şemam zaten "Debug" ile profil oluşturma olarak ayarlandı. Sonunda bu Apple forum tartışmasını çok yararlı buldum ve sorunu çözdük. Kısacası, benim için işe yarayan çözüm ... Mac'i yeniden başlatın.

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.