Xcode 6 Beta 4'te uygulama çalıştırılırken “MyApp.app“ dosyası görüntülenme izniniz olmadığından açılamadı ”


273

Uygulamamı Xcode 6 Beta 4'te çalıştırmaya çalıştığımda hatayı alıyorum:

The file "MyApp.app" couldn't be opened because you don't have permission to view it.

Bu hata, hangi simülatörü veya cihazı hedeflediğim önemli değil.

Denedim:

  • Xcode'daki Organizatörden Türetilmiş Tüm Verileri Silme
  • Sürücümdeki izinleri onarma
  • El ile oluşturulan MyApp.app izinlerini yükseltme
  • Bilgisayarımı yeniden başlatma

Başka kimse bu sorunla karşılaştı ve bir çözüm buldu mu?

Ekran görüntüsü


1
Aynı sorunu XCode 6.1 ile alıyorum. İlk başta, sorun sadece simülatördü, şimdi, bu yazıdaki bazı ipuçlarını takip ettikten sonra, hedef telefonumu çalıştırırken de aynı hatayla karşılaşıyorum.
Bamaco

1
@YuAn çözümünü takip ettim. Simülatör için çok iyi çalışıyor. Teşekkürler Ama cihaz üzerinde inşa etmeye çalıştığımda, hala 'Onu görüntülemek için herhangi bir iznim yok' yazan mesajı alıyorum. Xcode ve ayrıca türetilmiş veri dizinindeki myapp.app dosyası, türetilmiş verinin içeriğini sildikten sonra oluşturmaya çalıştıktan sonra bile engellenmiş olarak gösterilir.
Srinivasan N

4
Bu sorunu tetiklemenin başka bir (aptal) yolu: Bir uygulamayı yalnızca kaynaklarla ve kaynak dosyaları olmadan derleyin. Bana bunu nasıl bildiğimi sorma :)
Krumelur

4
Ürün> Bunu benim için temizle
mazorati

Benim durumumda bunların hiçbiri işe yaramadı! Bir kez Xcode pilst dosyasını silmek ve proje ile eklemek, bir cazibe gibi çalışır !! Umarım size yardımcı olur !!
Ravi

Yanıtlar:


252

Xcode6 GM kullanıyorum. Aynı sorunla karşılaştım. Yaptığım, Build Settings -> Build Options'a gitmekti. Sonra "C / C ++ / Objective-C için derleyici" değerini varsayılan derleyici olarak değiştirdim.resim açıklamasını buraya girin


146

DEVICE cihazında da sorun mu yaşıyorsunuz (sadece simülatörde değil)?


Diğer çözümler benim için sadece simülatörde düzeltti, cihazda değil.

Benim için bu sorun (Xcode 6'da), uygulama adımı değiştirmeye çalışırken ana info.plist özelliklerini değiştirmeye çalıştığımda oluştu .

Gelen Info.plist Ben değişmişti Executable Filevarsayılan dışında bir isim ${EXECUTABLE_NAME}...

Bu alanı, sıçrama tahtası üzerindeki simgenin altındaki uygulamanın adını değiştiren alanla karıştırmıştım.


10
Benim durumumda bu işe yaradı teşekkür ederim. <appname> -Info.plist dosyamdaki diğer benzer alanları değiştiriyordum ve Yürütülebilir Dosyayı önerdiğiniz gibi tekrar $ {EXECUTABLE_NAME} olarak değiştirdiğimde, oluşturuldu ve çalıştı.
Slowburner

Teşekkürler ... Aynı davamdı
Bala Vishnu

Çok teşekkürler @Albert Renshaw, cevap verdin sorunumu çözdü. Son iki günden beri bunun için çözüm arıyorum.
Nilesh Kikani

Aynı sorun, alanın adı simgesinin altındaki adı değiştirmek için "Paket görünen adı"
dır

1
Bu beni çözümüme götürdü, koduma harici bir kütüphane kaynağı eklediğimde ekstra bir Info.plist almıştım ve varlık grubu klasöründe bir Info.plist vardı. Bu ekstra Info.plist kaldırıldığında sorunum düzeltildi.
chadbag

145

Xcode'da aşağıdakileri yapın

Pencere -> Ajanda -> Projeler -> Sorunlu uygulama -> Türetilmiş Veriler'deki sil düğmesi.

Daha sonra projeyi ve voila'yı temizledim

İşler


@YuAn çözümünü takip ettim. Simülatör için çok iyi çalışıyor, ancak cihazda oluşturmaya çalıştığımda, hala 'Görüntüleme iznim yok' yazan mesajı alıyorum. Xcode ve ayrıca türetilmiş veri dizinindeki myapp.app dosyası, türetilmiş verinin içeriğini sildikten sonra oluşturmaya çalıştıktan sonra bile engellenmiş olarak gösterilir. Yanlış giden bir fikir var mı?
Srinivasan N

bu benim için çalıştı ama devam ediyor. Simülatörde uygulamayı her çalıştırmak istediğimde elde edilen verileri sürekli olarak silemiyorum ...
zumzum

Ben aynı sorun çeşitli çözüm denedim ama benim için çalışmadı karşı karşıya .. Yardım takdir edilecektir
Giriraj.Mulay


45

Bir derleme klasörünü temizleyerek düzelttim. 'Ürün' menüsüne ve Option + 'Temizle'ye tıklayın. Bundan sonra bir sorun çözüldü.


30

Projenin Info.plist ile ilgili bir sorun oluştu. Xcode 6 beta 4'te aynı ada sahip yeni bir proje oluşturdum ve ardından gerçek projenin Info.plist'ini yenisiyle değiştirdim. Proje daha sonra inşa edildi ve iyi çalıştı.

Farkı görün, plist bir şekilde bir oyun alanı plist ile karıştırılmış gibi görünüyor. Paket tanımlayıcısı "com.apple.dt.playground.iOS-18300-13" idi ve yürütülebilir ve paket adları diğer bazı tuhaflıklarla birlikte "iOS" idi.

Herkesin başvurmak için ihtiyacı olması durumunda tam fark budur:

        <key>CFBundleDevelopmentRegion</key>
        <string>en</string>
        <key>CFBundleExecutable</key>
-       <string>iOS</string>
+       <string>${EXECUTABLE_NAME}</string>
        <key>CFBundleIdentifier</key>
-       <string>com.apple.dt.playground.iOS-18300-13</string>
+       <string>com.myCompany.${PRODUCT_NAME:rfc1034identifier}</string>
        <key>CFBundleInfoDictionaryVersion</key>
        <string>6.0</string>
        <key>CFBundleName</key>
-       <string>iOS</string>
+       <string>${PRODUCT_NAME}</string>
        <key>CFBundlePackageType</key>
-       <string>AAPL</string>
+       <string>APPL</string>
        <key>CFBundleShortVersionString</key>
        <string>1.0</string>
-       <key>CFBundleSupportedPlatforms</key>
-       <array>
-               <string>iPhoneSimulator</string>
-       </array>
+       <key>CFBundleSignature</key>
+       <string>????</string>
        <key>CFBundleVersion</key>
        <string>1</string>
-       <key>DTPlatformName</key>
-       <string>iphonesimulator</string>
-       <key>DTSDKName</key>
-       <string>iphonesimulator8.0</string>
-       <key>LSBackgroundOnly</key>
-       <true/>
        <key>LSRequiresIPhoneOS</key>
        <true/>
+       <key>UIMainStoryboardFile</key>
+       <string>Main</string>
        <key>UIRequiredDeviceCapabilities</key>
        <array>
                <string>armv7</string>
        </array>
+       <key>UISupportedInterfaceOrientations</key>
+       <array>
+               <string>UIInterfaceOrientationPortrait</string>
+               <string>UIInterfaceOrientationLandscapeLeft</string>
+               <string>UIInterfaceOrientationLandscapeRight</string>
+       </array>
 </dict>
 </plist>

Evet, benzer bir sorun yaşadım. Info.plist dosyası ikili dosya biçimindeydi. Dönüştürmek zorunda kaldım
Luca Torella

28

Bu hatayı Xcode 8.2'de yaşadım. Benim için bulmamın nedeni, bir başkası bulmamın sebebi, kitaplığım eklenirken projeme Info.plist ekleniyor (manuel olarak kopyalanıyor).

Böylece Xcode doğru Info.plist'i seçmekle karıştırılıyor .

Bu Info.plist'i eklenen kütüphaneden kaldırdım.

Sonra herhangi bir izin uyarısı olmadan iyi çalışıyor.


Ayrıca, Info.plist'in adını FRAMEWORK_NAME_HEREInfo.plist olarak değiştirebilirsiniz
Jeremy Kelleher

Burada aynı, başka bir
projeden

Benim sorunum tam da buydu. Hızlı dosyalardan başka bir klasör ekledim ve içinde bir plist dosyası vardı. Bu plist dosyasını sildim ve her şey yolunda .. Teşekkürler!
Lkabo

17

Lütfen Yürütülebilir dosyayı => $ (EXECUTABLE_NAME) başka bir adla değiştirip değiştirmediğinizi kontrol edin. Bu adı değiştirdiyseniz, bu hatayı gösterir. Lütfen $ (EXECUTABLE_NAME) ile değiştirin.


Uygulama adını değiştirmeye çalışırken evet oldu. Sezon geliştiricisi bu yüzden sadece gıcırtıya plist girdi ve gerçekte "Paket Adı" değiştirmek istediğimde "Yürütülebilir Dosya" değişti
MobileMon

Bu benim için düzeltildi. Projemi yeniden adlandırdıktan sonra oldu. Teşekkürler.
emiliomarin

14

Ürün -> Temizlik (K komut komutu) benim için düzeltti


Bazen basit çözümün işe yarayan çözüm olduğunu hatırlatmak isteriz.
Pescolly

Burada Xcode 7.2.1 altında temiz ve Xcode'un yeniden başlatılması gerekiyordu. Sadece temizlik beni bir "bilinmeyen hataya" doğru ilerletmeye çalıştı.
Tommy

13

Tanrım !! Bu sorunu çözmek için saatler geçirdim.

XCode 7.3 üzerinde sorunsuz bir projem vardı.

Yaptığım hata

Sadece fiziksel klasörler ekledim ve dosyalarımı onlara taşıdım, sorun başladı.

Her şeyi denedim

  • Varsayılan derleyici
  • Temizleyin ve inşa edin
  • Simülatörü sıfırlayın ve simülatörü yeniden başlatın, Xcode, iPhone hatta mac
  • Güncellenmiş Info.plist
  • Türetilmiş Verileri Silme
  • Proje klasörü üzerindeki iznin düzenlenmesi
  • Mimarilerimi kontrol etme

hiçbir şey çalışmadı :(

Nasıl çözdüm

Ben yeni bir proje oluşturmak üzereydim ve sonra eklediğim o fiziksel klasörleri sildim , temiz inşa ve EVET !!

İşe yarıyor!!

resim açıklamasını buraya girin


1
YUP benim için de buydu.
yeahdixon

bu bana yardımcı oldu. ama klasör referansını kullanabileceğimi düşündüm. garip.
user1105951

13

Projeyi temizlemek ve yeniden oluşturmak için "cmd + üst karakter + k" tuşunu deneyin. En azından benim için çalıştı


11

İndirilen örnek kod için benzer bir sorun (xCode 6.2) vardı. Sette çalıştı Executable NameetmekDefault in Info.plist ama bu çalıştı olmadı.

Bunun yerine proje için Desteklenmeyen Derleyici (com.apple.compilers.llvmgcc42) yerine C / C ++ / Objective-C için Derleyici'yi Varsayılan derleyici (Apple LLVM 6.0) olarak değiştirin .

Ekran görüntüsü


@iOSRocks: Hoş geldin dostum!
Jayprakash Dubey

10

1) Öncelikle Build Options'a gidin.

2) Daha sonra "C / C ++ / Objective-C için Derleyici" değerini Varsayılan Derleyici olarak değiştirdi.

temiz ve çalışıyor :-)


1
O kadar temizlemek için: Yapı Ayarları (Seçilir 1. Git Tümünü ve kombine ) için 2. Arama seçenekleri oluştur 3. Set Derleyici C / C ++ / Objective-C için için Compiler Standart
nburk

Neden insanlar en yüksek puan alan cevabın bu kopyasını oylamaya hazır?
Kiran

10

Bazen eski projeyi yeni sürüm Xcode'da açmak bu mesajı alır.

Sorun Gezgini'ne gidin ve 'Yeniden ayarlanan ayarlara geç' uyarı ipucunu izleyin.

Boom, büyü!


10

Derleme seçeneklerim derleme LLVM 6.0 değiştirmek benim için yeterli olduğunu buldum (xcode 6.1)

resim açıklamasını buraya girin


10

4 yıl önce taahhüt edilen gitHub'dan indirilen bir proje için Xcode 6.1.1'imde aynı hatayı aldım . Benim için ayar Mimarileri varsayılan değere Standart mimariler (ARMv7, arm64) ve C / C ++ / Objective-C için derleyici içinde Compiler Varsayılana Yapı Ayarları çalıştı.


9

Son zamanlarda Xcode 6.0.1 eski bir proje (başlangıçta Xcode 4.x oluşturulan) çalıştırmak için aynı sorunu karşılamak.

Ben değiştirerek sorunu giderildi Architectures'ı içinde Bina Ayarı "varsayılan değer olan s Standart mimariler (ARMv7, arm64) ".

Umarım bu benzer sorunları olan herkese yardımcı olabilir :)


Bu yanıt doğru olarak işaretlenmelidir @drewag
Fede Cugliandolo

Bu şifreli hata mesajının arkasında farklı problemler var gibi görünüyor, yine de bu benim XCode 6.1
Fabio Napodano

9

Güncellemek için dolaptan çıkacağım bazı eski projelerimde bu hatayla karşılaştım. Görünüşe göre Xcode 6'nın eski kodla kullanılması, bir nedenden dolayı bunu beraberinde getiriyor.

Bunu şu şekilde yaptığım tüm projelerde çözdüm:

  1. Türetilmiş Verileri Sil
  2. içinde Ürününün: Temiz yapmak
  3. Proje Hedefinde Oluşturma Ayarları'na gidin ve Oluşturma Seçenekleri'ne gidin ve "C / C ++ / Objective-C için Derleyici " değerini " Varsayılan Derleyici " olarak değiştirin.

9

Projemde de aynı sorunu yaşadım. Daha sonra projede kullanılan üçüncü taraf ( SQLite için fmdb ) dosyasının Info.plist içerdiği bulundu .

Basitçe Info.plist dosya silinirken benim için çalıştı!

Info.plist


Benim için de çalıştı.
mkll

9

Uygulamam XCode 9.4 üzerinde iyi çalışıyordu, ancak XCode 10'da projemi açtığımda bu sorunu yaşıyordum. Benim için sorun inşa etme ayarıydı. Cevabı bu sayfada buldum https://forums.developer.apple.com/thread/112141 .

Kısacası Dosya> Çalışma Alanı Ayarları…> Sistem Oluştur'a gidin ve "Eski Derleme Sistemi" olarak değiştirin


8

Benim durumumda, Bundle Nameve sadece proje adıyla aynı Executable filedeğerleri yeniden adlandırıyorum info.plist. Benim için çalıştı.


8

Listelenen tüm cevapları denedim ve hiçbiri işe yaramadı. Sorun, koakapodlar yoluyla bir alt modülden bağlanan başka bir plist dosyasının varlığından kaynaklanıyordu. Neyse ki bu benim kendi modülüm, bu yüzden sadece bu plist submodule projesinden sildi ve baklaları yeniden kurdum.

çözüm

Daha sonra sorunun anahtarının o ikinci plist adına olduğunu anladım: basitçe info.plist. Dosyayı sourcesbir alt modülün bir bölümü aracılığıyla yeniden adlandırabilir ve yeniden bağlayabilirsiniz

Bu ikinci plist dosyasının benzersiz bir adı vardı, bu nedenle Xcode'un hayal kırıklığına uğramaması gerekiyordu. Hedef ayarlarım bile ana bir pliste işaret etti,info.plist . Görünüşe göre Xcode bu adla ilgili özel değerlendirmeler yapıyor

Xcode 6.4 ve Xcode 7.0'da üretilen hata


Benzer bir şey başıma da geldi. Info.plistim doğru yapılandırılmadı, bu nedenle XCode Info.plist, projenin klasöründe bulunan ve ilgisiz bazı bağımlılıklara ait olanı aldı.
Ohad Schneider

Tanrıya şükür, bana saatlerce anlamsız Xcode hata ayıklama 'kurtardın
Alex

6

Benzer bir sorun yaşadım. Bir şekilde Yürütülebilir Dosya için değerim karıştı. Sadece $ {EXECUTABLE_NAME} olarak değiştirin (Projeniz altında> Bilgi). Benim için çalıştı!


1
Dikkat edilmesi gereken bir şey, benimki $ (EXECUTABLE_NAME) olarak ayarlanmış ve {{EXECUTABLE_NAME} $ olarak güncellenmesi benim için sorunu çözdü.
Eric

5

Sorunun ilgili olup olmadığını bilmiyorum ama belki benim gibi kılları çeken herkes için bir çözüm olabilir.

Benim durumumda, çok fazla hedefi olan bir projem var. Her hedef bir Cocoa Touch Static Libraryve hedef olan bu temel projenin özelleştirilmesidir Applications. mainDosya kütüphane derlemesine eklenmiş, ancak her hedefe eklenmemiş olsa bile , bu hata mesajı görüntülenir. Ne yaptım ben? mainDosyayı Compile Sourcesbölümdeki her hedefe manuel olarak ekledi ve bingo, hepsi iyi.


Teşekkürler, bu çok yardımcı oldu.
JakeP

5

Benim için hata anahtardaki .plist dosyasındaydı CFBundleExecutable . İki kelimeden oluşan bir alanı kaldırarak yürütülebilir dosyayı yeniden adlandırmıştım. (Örn: "Wild Racer" dan "WildRacer" a). Onu tespit etmek için 1 gün sürdü!

Xcode hata ayıklama soooo yararsızdır!


4

Benim durumumda main (...) işlevini içeren main.m, "Derleme Aşamaları" nda "Derleme Kaynakları" listesinde yer almıyordu. Durumun böyle olup olmadığını kontrol etmek için Derleme Aşamaları'na girin ve main.m dosyanız "Derleme Kaynakları" listesinde görünüp görünmediğine bakın.


1
Bunu nasıl keşfettiğinizi bilmiyorum ve bu benim tam sorunum değildi ama beni çözüme götürdü, bu yüzden TEŞEKKÜRLER !!
Ri_

3

Ne benim için çözülmesi batıyordu Sadece Yapı Aktif Architecture gelen No üzere Evet .


3

X kodu 6.3.2 ile

[Oluşturma Ayarları] Seçenekler. [Tümü] - [Derleme Seçenekleri] - [C / C ++ / Objective-C için Derleyici] - [Varsayılan derleyici (Apple LLVM 6.1)]

Sonra projeyi yeniden oluşturun ve tamam çalışır.


2

Benim durumumda, sadece Xcode'un kapatılmasına yardımcı oldu, izinleri Disk İzlencesi ile onardı. Sadece bir yeniden başlatmadan sonra bir cazibe gibi çalıştı.


Bugün OSX'i yükselttikten sonra bu sorunu yaşadım. Bu bir dakikadan daha kısa bir sürede sıralanmıştı.
tonyedwardspz

2

Ben de bugün sabah bu konuyla karşılaştım ve cevapların hiçbiri özellikle benim durumumda bana yardımcı oldu. Ve saatlerce denedikten sonra sorunu anladım.

Aslında yanlışlıkla film şeridinde çalışırken, ben sadece benim "adını Main.storyboard " den " .storyboard " ve "geri değişen Main.storyboard " sorunumu çözdü.

ÇÖZÜM (Sorunuma göre) : Xcode'un yükleyemediği ve bir sorun oluşturduğu için herhangi bir dosyayı yeniden adlandırmış olabilirsiniz. Örneğin: yukarıda belirtildiği gibi " Yürütülebilir Dosya " adını değiştirme durumunda
Olası Sorun alanı: Çalıştığınız son birkaç dosya olabilir.

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.