"Impossibile aprire il file" MyApp.app "perché non sei autorizzato a visualizzarlo" quando esegui l'app in Xcode 6 Beta 4


273

Ogni volta che provo a eseguire la mia app in Xcode 6 Beta 4 ricevo l'errore:

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

Questo errore viene visualizzato indipendentemente dal simulatore o dal dispositivo target.

Ho provato:

  • Eliminazione di tutti i dati derivati ​​da Organizer in Xcode
  • Riparare le autorizzazioni sul mio disco
  • Elevando manualmente le autorizzazioni di MyApp.app integrato
  • Riavvio del mio computer

Qualcun altro ha riscontrato questo problema e ha trovato una soluzione?

Immagine dello schermo


1
Ricevo lo stesso problema con XCode 6.1. Inizialmente, il problema era solo con il simulatore, ora, dopo aver seguito alcuni lead in questo post, ho lo stesso errore anche con il mio telefono di destinazione.
Bamaco,

1
Ho seguito la soluzione @YuAn. Funziona molto bene per il simulatore. Grazie Ma quando provo a costruirlo sul dispositivo, ricevo ancora il messaggio che dice "Non ho il permesso di visualizzarlo". Il file myapp.app nella directory dei prodotti in xcode e anche nella directory dei dati derivati ​​viene mostrato bloccato anche dopo aver provato a creare dopo aver eliminato il contenuto dei dati derivati.
Srinivasan N

4
Un altro (stupido) modo per innescare questo problema: compilare un'app con solo risorse e senza file di origine. Non chiedermi come lo so :)
Krumelur,

4
Prodotto> Clean
risolvilo

Nel mio caso nessuno di questi non ha funzionato !! Una volta che elimino il file pilst da Xcode e lo allego nuovamente con il progetto, funziona come un fascino !! Spero di aiutarti Ragazzi !!
Ravi,

Risposte:


252

Uso Xcode6 GM. Ho riscontrato lo stesso problema. Quello che ho fatto è stato andare su Impostazioni di costruzione -> Opzioni di costruzione. Quindi ho modificato il valore del "Compilatore per C / C ++ / Objective-C" in Compilatore predefinito.inserisci qui la descrizione dell'immagine


146

Hai il problema anche su DEVICE (non solo sul simulatore)?


Le altre soluzioni l'hanno risolto solo per me sul simulatore, non sul dispositivo.

Per me questo problema si è verificato (in Xcode 6) quando avrei provato a cambiare le proprietà principali di info.plist mentre provavo a cambiare il nome della mia app.

In info.plist avevo cambiato il Executable Filenome in qualcosa di diverso da quello predefinito ${EXECUTABLE_NAME}...

Avevo confuso questo campo con il campo che cambia il nome dell'app sotto l'icona sul trampolino.


10
Nel mio caso, ha funzionato grazie. Avevo cambiato altri campi simili nel mio file <appname> -Info.plist, e una volta cambiato il file eseguibile in $ {EXECUTABLE_NAME} come hai suggerito, è stato creato ed eseguito.
Slowburner,

Grazie ... Lo stesso è stato il mio caso
Bala Vishnu il

Grazie mille @Albert Renshaw, la tua risposta ha risolto il mio problema. Sto cercando una soluzione per questo dagli ultimi due giorni.
Nilesh Kikani,

Stesso problema, il nome del campo è "Nome visualizzato pacchetto" per la modifica del nome sotto l'icona
Web

1
Questo mi ha portato alla mia soluzione, che era che avevo ottenuto un Info.plist aggiuntivo quando ho incluso il codice sorgente di una libreria esterna nel mio codice e avevano un Info.plist nella cartella del gruppo di risorse. Rimuovere quel Info.plist aggiuntivo ha risolto il mio problema.
Chadbag,

145

In Xcode procedi come segue

Finestra -> Organizer -> Progetti -> L'app con il problema -> pulsante Elimina in Dati derivati.

Ho quindi pulito il progetto e voilà

lavori


Ho seguito la soluzione @YuAn. Funziona molto bene con il simulatore ma quando provo a costruirlo sul dispositivo, ricevo ancora il messaggio che dice "Non ho il permesso di visualizzarlo". Il file myapp.app nella directory dei prodotti in xcode e anche nella directory dei dati derivati ​​viene mostrato bloccato anche dopo aver provato a creare dopo aver eliminato il contenuto dei dati derivati. Qualche idea di cosa sia andato storto?
Srinivasan N

questo ha funzionato per me, ma continua a succedere. Non riesco a eliminare continuamente i dati derivati ​​ogni volta che voglio eseguire l'app nel simulatore ...
zumzum

Sto affrontando lo stesso problema provato varie soluzioni ma non ha funzionato per me .. L'aiuto sarà apprezzato
Giriraj.Mulay


45

L'ho risolto pulendo una cartella di build. Basta andare al menu 'Prodotto' e Opzione + Fare clic su 'Pulisci'. Dopo di che un problema è stato risolto.


30

Si è verificato un problema con Info.plist del progetto. Ho creato un nuovo progetto con lo stesso nome in Xcode 6 beta 4 e poi ho sostituito il Info.plist del progetto reale con quello nuovo. Il progetto quindi è stato realizzato e funzionava bene.

Guarda il diff, sembra che il plist si sia in qualche modo confuso con il plist di un parco giochi. L'identificatore del bundle era "com.apple.dt.playground.iOS-18300-13" e i nomi degli eseguibili e dei bundle erano "iOS" insieme ad alcune altre stranezze.

Questa è la differenza completa nel caso qualcuno ne abbia bisogno per riferimento:

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

sì, ho avuto un problema simile. Il file Info.plist era nel formato di file binario. Ho dovuto convertirlo
Luca Torella il

28

Ho avuto lo stesso errore in Xcode 8.2. Il motivo per cui l'ho scoperto, un altro Info.plist viene aggiunto nel mio progetto durante l'aggiunta della libreria (copia manuale).

In modo che Xcode si confonda per selezionare Info.plist corretto .

Ho appena rimosso il file Info.plist dalla libreria aggiunta.

Quindi funziona correttamente senza alcun avviso di autorizzazione.


Puoi anche cambiare il nome di Info.plist in FRAMEWORK_NAME_HEREInfo.plist
Jeremy Kelleher

Lo stesso qui, copiando da un altro progetto
Firas Shrourou,

Questo è esattamente il mio problema. Ho aggiunto un'altra cartella di file rapidi e conteneva un file plist. Ho cancellato quel file plist e tutto va bene .. Grazie!
Lkabo,

17

Verifica di aver modificato il file eseguibile => $ (EXECUTABLE_NAME) con qualsiasi altro nome. Se hai cambiato questo nome, mostra questo errore. Sostituiscilo con $ (EXECUTABLE_NAME).


Sì, mi è successo quando ho provato a cambiare il nome dell'app. Lo sviluppatore della stagione, quindi, è andato semplicemente in plist distrattamente e ha cambiato "File eseguibile" quando in realtà intendo cambiare "Nome bundle"
MobileMon

Questo mi ha risolto. È successo dopo che ho rinominato il mio progetto. Grazie.
emiliomarin,

14

Prodotto -> Clean (comando shift K) risolto il problema per me


È bene ricordare che a volte la soluzione semplice è quella che funziona.
Pescolly,

Qui è stato richiesto un riavvio pulito e Xcode in Xcode 7.2.1. La sola pulizia mi ha portato a un "errore sconosciuto" senza tentativi di compilazione.
Tommy,

13

Mamma mia!! Ho impiegato ore per risolvere questo problema.

Su XCode 7.3 stavo avendo un progetto senza problemi.

Errore che ho fatto

Ho appena aggiunto cartelle fisiche e spostato i miei file in esse, il problema è iniziato.

Ho provato di tutto

  • Compilatore predefinito
  • Pulisci e costruisci
  • Ripristina simulatore e riavvia simulatore, Xcode, iPhone anche mac
  • Info.plist aggiornato
  • Eliminazione dei dati derivati
  • Modifica dell'autorizzazione nella cartella del progetto
  • Verifica le mie architetture

niente ha funzionato :(

Come ho risolto

Stavo per creare un nuovo progetto e poi ho semplicemente eliminato quelle cartelle fisiche che ho aggiunto, clean build e YESS !!

Funziona!!

inserisci qui la descrizione dell'immagine


1
Sì, questo è stato anche per me.

questo mi ha aiutato. ma pensavo di poter usare il riferimento alla cartella. strano.
user1105951


11

Ho avuto un problema simile (xCode 6.2) per il codice di esempio scaricato. Ho cercato di serie Executable Namea Default in Info.plist, ma questo non ha funzionato.

Cambia invece il compilatore per C / C ++ / Objective-C in Compilatore predefinito (Apple LLVM 6.0) anziché Compilatore non supportato (com.apple.compilers.llvmgcc42) per il progetto.

Immagine dello schermo


@iOSRocks: benvenuto amico!
Jayprakash Dubey,

10

1) Vai innanzitutto alle opzioni di costruzione.

2) Quindi modificato il valore del "Compilatore per C / C ++ / Objective-C" in Compilatore predefinito.

pulito e funzionante :-)


1
Per chiarire: 1. Vai su Impostazioni di compilazione (Scegli tutto e Combinato ) 2. Cerca opzioni di
compilazione

Perché le persone votano questa copia della risposta più votata?
Kiran,

10

A volte aprendo il vecchio progetto nella nuova versione Xcode riceverà questo messaggio.

Vai al navigatore Issue e segui il suggerimento di avviso "Aggiorna alle impostazioni riconfermate".

Boom, magia!


10

Ho scoperto che cambiare il mio compilatore in LLVM 6.0 nelle opzioni di costruzione mi è bastato (xcode 6.1)

inserisci qui la descrizione dell'immagine


10

Ho avuto lo stesso errore sul mio Xcode 6.1.1 per un progetto scaricato da gitHub che è stato commesso 4 anni fa. Per me, impostare Architetture sul valore predefinito Architetture standard (armv7, arm64) e Compilatore per C / C ++ / Objective-C su Compilatore predefinito in Impostazioni edificio ha funzionato.


9

Di recente ho riscontrato lo stesso problema per l'esecuzione di un vecchio progetto (inizialmente creato in Xcode 4.x) in Xcode 6.0.1.

Ho risolto il problema modificando il valore predefinito di Architectures in Building Setting , ovvero " Architetture standard (armv7, arm64) ".

Spero che questo possa aiutare chiunque abbia avuto problemi simili :)


Questa risposta dovrebbe essere contrassegnata come corretta @drewag
Fede Cugliandolo,

sembra che ci siano diversi problemi dietro questo messaggio di errore criptico, comunque questo è ciò che ha risolto il mio problema con XCode 6.1
Fabio Napodano,

9

Ho avuto questo errore con alcuni dei miei vecchi progetti che sto uscendo dall'armadio per aggiornare. Sembra che l'uso di Xcode 6 con un codice più vecchio sembra causare questo per qualche motivo.

Ho risolto questo problema in tutti i progetti con cui ho fatto questo:

  1. Elimina i dati derivati
  2. nel prodotto: pulire
  3. vai a Build Settings nel progetto Target e vai a Build Options e cambia il valore del "Compiler for C / C ++ / Objective-C" in " Default Compiler ".

9

Ho avuto lo stesso problema nel mio progetto. Successivamente ha scoperto che il file di terze parti ( fmdb per SQLite) utilizzato nel progetto conteneva Info.plist .

La semplice eliminazione del file Info.plist ha funzionato per me!

Info.plist


Ha funzionato anche per me.
mkll,

9

La mia applicazione funzionava perfettamente su XCode 9.4, ma quando ho aperto il mio progetto in XCode 10 ho riscontrato questo problema. Per me il problema era l'impostazione di compilazione. Ho trovato la risposta in questa pagina https://forums.developer.apple.com/thread/112141 .

In breve, vai su File> Impostazioni area di lavoro ...> Crea sistema e modificalo in "Sistema build precedente"


8

Bene nel mio caso, ho semplicemente rinominato i valori Bundle Namee Executable filenello info.pliststesso nome del progetto. Ha funzionato per me.


8

Ho provato tutte le risposte elencate e nessuna di queste è stata utile. Il problema era dovuto all'esistenza di un altro file plist collegato da un sottomodulo tramite cocoapods. Fortunatamente questo era il mio modulo, quindi ho appena eliminato questo plist dal progetto del sottomodulo e reinstallato i pod.

soluzione

Più tardi ho capito che la chiave del problema era nel nome di quel secondo piano: semplicemente info.plist. È possibile rinominare il file e ricollegarlo tramite asources sezione di un sottomodulo

Quel secondo file plist aveva un nome univoco, quindi Xcode non doveva essere frustrato. Perfino le mie impostazioni di destinazione puntavano su un plist principale, non su un info.plist. Sembra che Xcode prenda in considerazione questo nome

Il bug riprodotto in Xcode 6.4 e Xcode 7.0


Mi è successa una cosa simile. My Info.plist non è stato configurato correttamente, quindi XCode ha preso il primo che Info.plistsi trovava nella cartella del progetto, che apparteneva a una dipendenza non correlata.
Ohad Schneider,

grazie a Dio, mi hai appena salvato ore di inutili debug Xcode '
Alex

6

Ho avuto questo problema simile. In qualche modo il mio valore per la chiave File eseguibile è stato confuso. Basta cambiarlo in $ {EXECUTABLE_NAME} (Sotto il tuo progetto> Informazioni). Ha funzionato per me!


1
Una cosa da notare è che il mio è stato impostato su $ (EXECUTABLE_NAME) e l'aggiornamento a $ {EXECUTABLE_NAME} ha risolto il problema per me.
Eric,

5

Non so se il problema è legato, ma forse può essere una soluzione per chiunque tira i capelli come me.

Nel mio caso, ho un progetto con molti obiettivi. Ogni bersaglio è una personalizzazione di quel progetto di base che è una Cocoa Touch Static Librarye gli obiettivi, Applications. Anche se il mainfile viene aggiunto nella compilation della libreria, ma non in ciascuna destinazione, viene visualizzato quel messaggio di errore. Quindi cosa ho fatto? Aggiunto manualmente il mainfile a ciascun target nella Compile Sourcessezione e nel bingo, tutto bene.


Grazie, questo mi ha aiutato molto.
JakeP,

5

Per me l'errore era nel file .plist alla chiave CFBundleExecutable. Avevo rinominato l'eseguibile rimuovendo uno spazio tra due parole. (Ad esempio: da "Wild Racer" a "WildRacer"). Ci sono voluti 1 giorno per individuarlo !!

Xcode è davvero inutile nel debugging!


4

Nel mio caso main.m contenente la funzione main (...) non era contenuta nell'elenco di "Compile Sources" in "Build Phases". Per verificare se questo è il caso, entra in Build Phases e guarda, se il tuo main.m appare nell'elenco "Compile Sources".


1
Non so come l'abbia scoperto, e non è stato il mio problema esatto, ma mi ha portato alla soluzione, quindi GRAZIE !!
Ri_

3

Ciò che ha risolto per me è stato impostare Build Active Architecture Solo da No a .


3

con codice X 6.3.2

Opzioni di [Build Build]. [Tutti] - [Opzioni di costruzione] - [Compilatore per C / C ++ / Objective-C] - [Compilatore predefinito (Apple LLVM 6.1)]

Quindi ricostruire il progetto e funziona correttamente.


2

Nel mio caso ha aiutato solo a chiudere Xcode, riparando le autorizzazioni con l'Utility Disco. Solo dopo un riavvio ha funzionato come un fascino.


Ho avuto questo problema dopo aver aggiornato OSX oggi. Questo è stato risolto in meno di un minuto.
tonyedwardspz,

2

Dato che ho affrontato questo problema anche oggi mattina e nessuna delle risposte mi ha aiutato in particolare nel mio caso. E dopo aver provato per ore ho capito il problema.

In realtà, mentre lavoravo nello storyboard per errore, ho appena rinominato il mio " Main.storyboard " in " .storyboard " e lo ho cambiato in " Main.storyboard " ho risolto il mio problema.

SOLUZIONE (secondo il mio problema) : è possibile che abbiate rinominato qualsiasi file a causa del quale xcode non è stato in grado di caricarlo e ha sollevato un problema. Ad esempio: come accennato in precedenza, il caso di modifica del nome " File eseguibile " Area
possibile del problema: potrebbero essere gli ultimi file in cui stavi lavorando.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.