"Die Datei" MyApp.app "konnte nicht geöffnet werden, da Sie keine Berechtigung zum Anzeigen haben", wenn Sie die App in Xcode 6 Beta 4 ausführen

273

Immer wenn ich versuche, meine App in Xcode 6 Beta 4 auszuführen, wird folgende Fehlermeldung angezeigt:

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

Dieser Fehler tritt unabhängig von dem Simulator oder Gerät auf, auf das ich ziele.

Ich habe versucht:

  • Löschen aller abgeleiteten Daten vom Organizer in Xcode
  • Reparieren von Berechtigungen auf meinem Laufwerk
  • Manuelles Erhöhen der Berechtigungen der erstellten MyApp.app
  • Neustart meines Computers

Ist jemand anderes auf dieses Problem gestoßen und hat eine Lösung gefunden?

Bildschirmfoto

Drawag
quelle
1
Ich habe das gleiche Problem mit XCode 6.1. Anfangs war das Problem nur beim Simulator, jetzt, nachdem ich einige Hinweise in diesem Beitrag befolgt habe, habe ich den gleichen Fehler beim Ausführen meines Zieltelefons.
Bamaco
1
Ich folgte der @ YuAn-Lösung. Es funktioniert sehr gut für den Simulator. Danke Aber wenn ich versuche, es auf dem Gerät zu erstellen, erhalte ich immer noch die Meldung "Ich habe keine Berechtigung, es anzuzeigen". Die Datei myapp.app im Produktverzeichnis in xcode und auch im abgeleiteten Datenverzeichnis wird blockiert, selbst nachdem versucht wurde, nach dem Löschen des Inhalts der abgeleiteten Daten zu erstellen.
Srinivasan N
4
Eine andere (dumme) Möglichkeit, dieses Problem auszulösen: Kompilieren Sie eine App nur mit Ressourcen und ohne Quelldateien. Fragen Sie mich nicht, woher ich das weiß :)
Krumelur
4
Produkt> Sauber lösen Sie dieses für mich
Mazorati
In meinem Fall hat keines davon funktioniert !! Sobald ich die Pilst-Datei aus Xcode lösche und wieder mit dem Projekt anhänge, funktioniert es wie ein Zauber !! Hoffe euch zu helfen Jungs !!
Ravi

Antworten:

252

Ich benutze Xcode6 GM. Ich bin auf das gleiche Problem gestoßen. Ich ging zu Build Settings -> Build Options. Dann habe ich den Wert des "Compilers für C / C ++ / Objective-C" in Standard-Compiler geändert.Geben Sie hier die Bildbeschreibung ein

YuAn Shaolin Maculelê Lai
quelle
146

Haben Sie das Problem auch bei DEVICE (nicht nur beim Simulator)?


Die anderen Lösungen haben es nur für mich auf dem Simulator behoben, nicht auf dem Gerät.

Bei mir trat dieses Problem (in Xcode 6) auf, als ich versuchte, die Haupteigenschaften von info.plist zu ändern, während ich versuchte, meinen App-Namen zu ändern.

In info.plist hatte ich den Executable FileNamen in einen anderen als den Standardnamen geändert ${EXECUTABLE_NAME}...

Ich hatte dieses Feld mit dem Feld verwechselt, das den Namen der App unter dem Symbol auf dem Sprungbrett ändert.

Albert Renshaw
quelle
10
In meinem Fall hat das funktioniert, danke. Ich habe andere ähnliche Felder in meiner Datei <appname> -Info.plist geändert, und nachdem ich die ausführbare Datei wie von Ihnen vorgeschlagen wieder in $ {EXECUTABLE_NAME} geändert hatte, wurde sie erstellt und ausgeführt.
Slowburner
Danke. Dasselbe war mein Fall
Bala Vishnu
Vielen Dank @Albert Renshaw, Ihre Antwort hat mein Problem gelöst. Ich suche seit den letzten zwei Tagen nach einer Lösung dafür.
Nilesh Kikani
Gleiches Problem, Name des Feldes ist "Bundle-Anzeigename" zum Ändern des Namens unter dem Symbol
WebOrCode
1
Dies führte mich zu meiner Lösung: Ich hatte eine zusätzliche Info.plist erhalten, als ich die Quelle für eine externe Bibliothek in meinen Code aufgenommen hatte, und sie hatten eine Info.plist in ihrem Assets Group-Ordner. Das Entfernen dieser zusätzlichen Info.plist hat mein Problem behoben.
Chadbag
145

Gehen Sie in Xcode wie folgt vor

Fenster -> Organizer -> Projekte -> Die App mit dem Problem -> Schaltfläche Löschen in Abgeleitete Daten.

Ich habe dann das Projekt und voila gereinigt

funktioniert

Tom
quelle
Ich folgte der @ YuAn-Lösung. Es funktioniert sehr gut für den Simulator, aber wenn ich versuche, es auf dem Gerät zu erstellen, wird immer noch die Meldung "Ich habe keine Berechtigung zum Anzeigen" angezeigt. Die Datei myapp.app im Produktverzeichnis in xcode und auch im abgeleiteten Datenverzeichnis wird blockiert, selbst nachdem versucht wurde, nach dem Löschen des Inhalts der abgeleiteten Daten zu erstellen. Irgendeine Idee, was schief gelaufen ist?
Srinivasan N
Das hat bei mir funktioniert, aber es passiert immer wieder. Ich kann abgeleitete Daten nicht jedes Mal löschen, wenn ich die App im Simulator
ausführen
Ich stehe vor dem gleichen Problem und habe verschiedene Lösungen ausprobiert, aber es hat bei mir nicht funktioniert. Hilfe wird geschätzt
Giriraj.Mulay vor
53

Für mich hat ein einfaches Produkt -> Clean super funktioniert

SleepsOnNewspapers
quelle
45

Ich habe es behoben, indem ich einen Build-Ordner bereinigt habe. Gehen Sie einfach zum Menü "Produkt" und wählen Sie bei Option + Klicken auf "Reinigen". Danach wurde ein Problem behoben.

yury.ku
quelle
30

Es gab ein Problem mit der Info.plist des Projekts. Ich habe in Xcode 6 Beta 4 ein neues Projekt mit demselben Namen erstellt und dann die Info.plist des realen Projekts durch die neue ersetzt. Das Projekt wurde dann gebaut und lief gut.

Schauen Sie sich den Unterschied an, es scheint, als wäre die Liste irgendwie mit der Liste eines Spielplatzes verwechselt worden. Die Bundle-ID lautete "com.apple.dt.playground.iOS-18300-13" und die ausführbaren Dateien und Bundle-Namen lauteten "iOS", zusammen mit einigen anderen Kuriositäten.

Dies ist der volle Unterschied, falls jemand ihn als Referenz benötigt:

        <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>
Drawag
quelle
Ja, ich hatte ein ähnliches Problem. Die Datei Info.plist hatte das Binärdateiformat. Musste es konvertieren
Luca Torella
28

Ich habe diesen Fehler auch in Xcode 8.2 gehabt. Der Grund, warum ich herausgefunden habe, dass eine weitere Info.plist in meinem Projekt hinzugefügt wird, während eine Bibliothek hinzugefügt wird (manuell kopiert).

Damit Xcode für die Auswahl der richtigen Info.plist verwirrt wird .

Ich habe gerade diese Info.plist aus der hinzugefügten Bibliothek entfernt.

Dann funktioniert es einwandfrei ohne Berechtigungsalarm.

Antony Raphel
quelle
Sie können auch den Namen von Info.plist in FRAMEWORK_NAME_HEREInfo.plist
Jeremy Kelleher
Das gleiche hier, Kopieren von einem anderen
Projekt
Genau das war mein Problem. Ich habe einen weiteren Ordner mit schnellen Dateien hinzugefügt, in dem sich eine Plist-Datei befand. Ich habe diese Plist-Datei gelöscht und alles ist gut. Danke!
Lkabo
17

Bitte überprüfen Sie, ob Sie die ausführbare Datei => $ (EXECUTABLE_NAME) in einen anderen Namen geändert haben. Wenn Sie diesen Namen geändert haben, wird dieser Fehler angezeigt. Bitte ersetzen Sie es durch $ (EXECUTABLE_NAME).

Pratik Patel
quelle
Ja, mir ist passiert, als ich versucht habe, den Namen der App zu ändern. Der Saisonentwickler ging also geistesabwesend in die Liste und änderte "Ausführbare Datei",
obwohl
Das hat es für mich behoben. Es geschah, nachdem ich mein Projekt umbenannt hatte. Vielen Dank.
Emiliomarin
14

Produkt -> Reinigen (Befehlsverschiebung K) hat es für mich behoben

James Zatsiorsky
quelle
Gute Erinnerung daran, dass manchmal die einfache Lösung funktioniert.
Pescolly
Hier unter Xcode 7.2.1 war ein sauberer und Xcode-Neustart erforderlich. Das Reinigen allein führte mich zu einem "unbekannten Fehler" ohne Versuch zu bauen.
Tommy
13

Meine Güte!! Ich habe Stunden damit verbracht, dieses Problem zu beheben.

Unter XCode 7.3 hatte ich ein Projekt ohne Probleme.

Fehler, den ich gemacht habe

Ich habe gerade physische Ordner hinzugefügt und meine Dateien in diese verschoben, das Problem hat begonnen.

Ich habe alles versucht

  • Standard-Compiler
  • Reinigen und bauen
  • Simulator zurücksetzen und Simulator, Xcode, iPhone sogar Mac neu starten
  • Info.plist aktualisiert
  • Abgeleitete Daten löschen
  • Bearbeiten der Berechtigung für den Ordner des Projekts
  • Überprüfung meiner Architekturen

Nichts hat geklappt :(

Wie ich mich entschlossen habe

Ich wollte gerade ein neues Projekt erstellen und dann habe ich einfach die physischen Ordner gelöscht, die ich hinzugefügt habe, Clean Build und YESS !!

Es klappt!!

Geben Sie hier die Bildbeschreibung ein

swiftBoy
quelle
1
YUP das war es auch für mich.
yeahdixon
das hat mir geholfen. aber ich dachte, ich kann Ordnerreferenz verwenden. seltsam.
user1105951
13

Versuchen Sie "cmd + shift + k", um das Projekt zu bereinigen und neu zu erstellen. Zumindest hat es bei mir funktioniert

Einäugiger Rabe
quelle
11

Ich hatte ein ähnliches Problem (xCode 6.2) für den heruntergeladenen Beispielcode. Ich habe versucht, mich darauf einzustellen Executable Name, Default in Info.plistaber das hat nicht funktioniert.

Ändern Sie stattdessen den Compiler für C / C ++ / Objective-C in den Standard-Compiler (Apple LLVM 6.0) anstelle des nicht unterstützten Compilers (com.apple.compilers.llvmgcc42) für das Projekt.

Bildschirmfoto

Jayprakash Dubey
quelle
@iOSRocks: Willkommen Kumpel!
Jayprakash Dubey
10

1) Zuerst Optionen erstellen.

2) Ändern Sie dann den Wert des "Compilers für C / C ++ / Objective-C" in Standard-Compiler.

sauber und funktionierend :-)

Waseem Shah
quelle
1
So löschen Sie es: 1. Gehen Sie zu Build-Einstellungen ( Alle auswählen und kombiniert ). 2. Suchen Sie nach Build-Optionen. 3. Setzen Sie den Compiler für C / C ++ / Objective-C auf Standard-Compiler
nburk
Warum stimmen die Leute über diese Kopie der am höchsten bewerteten Antwort ab?
Kiran
10

Manchmal wird beim Öffnen eines alten Projekts in einer neuen Version von Xcode diese Meldung angezeigt.

Gehen Sie zum Issue-Navigator und folgen Sie dem Warnhinweis "Auf neu eingestellte Einstellungen aktualisieren".

Boom, Magie!

ManuQiao
quelle
10

Ich fand, dass es mir ausreichte, meinen Compiler in den Build-Optionen auf LLVM 6.0 zu ändern (xcode 6.1).

Geben Sie hier die Bildbeschreibung ein

SleepsOnNewspapers
quelle
10

Ich habe den gleichen Fehler auf meinem Xcode 6.1.1 für ein Projekt erhalten, das von gitHub heruntergeladen wurde und vor 4 Jahren festgeschrieben wurde. Für mich funktionierte es, Architekturen auf den Standardwert zu setzen. Standardarchitekturen (armv7, arm64) und Compiler für C / C ++ / Objective-C auf Standard-Compiler in den Gebäudeeinstellungen funktionierten.

Zeeawan
quelle
9

Ich habe kürzlich das gleiche Problem beim Ausführen eines alten Projekts (ursprünglich in Xcode 4.x erstellt) in Xcode 6.0.1 festgestellt.

Ich habe das Problem behoben, indem ich die Architekturen in den Gebäudeeinstellungen auf den Standardwert " Standardarchitekturen (armv7, arm64) " geändert habe .

Hoffe das könnte jedem helfen der ähnliche Probleme hat :)

Jäger DRF
quelle
Diese Antwort sollte als die richtige markiert werden @drewag
Fede Cugliandolo
Es sieht so aus, als ob hinter dieser kryptischen Fehlermeldung verschiedene Probleme stecken. Trotzdem hat dies mein Problem mit XCode 6.1
Fabio Napodano
9

Ich hatte diesen Fehler bei einigen meiner älteren Projekte, die ich zum Aktualisieren aus dem Schrank bekomme. Es scheint, dass die Verwendung von Xcode 6 mit älterem Code dies aus irgendeinem Grund bewirkt.

Ich habe dies in allen Projekten behoben, mit denen ich dies getan habe durch:

  1. Löschen Abgeleitete Daten
  2. im Produkt: Reinigen
  3. Gehen Sie im Projektziel zu Build-Einstellungen und gehen Sie zu Build-Optionen und ändern Sie den Wert des "Compilers für C / C ++ / Objective-C" in " Standard-Compiler ".
idmean
quelle
9

Ich hatte das gleiche Problem in meinem Projekt. Später stellte sich heraus, dass die im Projekt verwendete Datei eines Drittanbieters ( fmdb für SQLite) die Datei Info.plist enthielt .

Einfach das Löschen der Datei Info.plist für mich gearbeitet!

Info.plist

Jayprakash Dubey
quelle
Hat auch für mich gearbeitet.
mkll
9

Meine Anwendung funktionierte unter XCode 9.4 einwandfrei, aber als ich mein Projekt in XCode 10 öffnete, trat dieses Problem auf. Für mich war das Problem die Build-Einstellung. Ich fand die Antwort auf dieser Seite https://forums.developer.apple.com/thread/112141 .

Gehen Sie kurz zu Datei> Arbeitsbereichseinstellungen…> Build-System und ändern Sie es in "Legacy-Build-System".

Informatiker
quelle
8

In meinem Fall benenne ich die Werte Bundle Nameund einfach genauso um wie den Projektnamen. Es hat bei mir funktioniert.Executable fileinfo.plist

Ans
quelle
8

Ich habe alle aufgelisteten Antworten ausprobiert und keine davon war nützlich. Das Problem war auf das Vorhandensein einer anderen Plist-Datei zurückzuführen, die von einem Submodul über Cocoapods verknüpft war. Zum Glück war dies mein eigenes Modul, also habe ich diese Liste aus dem Submodul-Projekt gelöscht und die Pods neu installiert.

Lösung

Später verstand ich, dass der Schlüssel des Problems im Namen dieser zweiten Liste lag: einfach info.plist. Sie können die Datei umbenennen und über einen sourcesAbschnitt eines Submoduls erneut verknüpfen

Diese zweite Plist-Datei hatte einen eindeutigen Namen, sodass Xcode nicht frustriert werden sollte. Sogar meine Zieleinstellungen zeigten auf eine Hauptliste, nicht auf eineinfo.plist . Es sieht so aus, als würde Xcode besondere Überlegungen zu diesem Namen anstellen

Der Fehler wurde in Xcode 6.4 und Xcode 7.0 reproduziert

Tim
quelle
Ähnliches ist mir passiert. Meine Info.plist wurde nicht richtig konfiguriert, daher hat XCode das erste Mal Info.plistim Projektordner gefunden, der zu einer nicht verwandten Abhängigkeit gehörte.
Ohad Schneider
Gott sei Dank, du hast mir gerade Stunden sinnlosen Xcode-Debuggins erspart '
Alex
6

Ich hatte dieses ähnliche Problem. Irgendwie wurde mein Wert für den Schlüssel Executable File verwechselt. Ändern Sie es einfach wieder in $ {EXECUTABLE_NAME} (unter Ihrem Projekt> Info). Hat für mich gearbeitet!

Viper
quelle
1
Eine Sache zu beachten ist, dass meine auf $ (EXECUTABLE_NAME) gesetzt wurde und die Aktualisierung auf $ {EXECUTABLE_NAME} das Problem für mich behoben hat.
Eric
5

Ich weiß nicht, ob das Problem damit zusammenhängt, aber vielleicht kann es eine Lösung für jeden sein, der wie ich an den Haaren zieht.

In meinem Fall habe ich ein Projekt mit vielen Zielen. Jedes Ziel ist eine Anpassung des Basisprojekts a Cocoa Touch Static Libraryund der Ziele.Applications . Selbst wenn die mainDatei zur Bibliothekskompilierung hinzugefügt wird, jedoch nicht in jedem Ziel, wird diese Fehlermeldung angezeigt. Also was habe ich getan? Manuelles Hinzufügen der mainDatei zu jedem Ziel in der Compile SourcesSektion und Bingo, alles in Ordnung.

Gustavo Barbosa
quelle
Danke, das hat sehr geholfen.
JakeP
5

Für mich war der Fehler in der .plist-Datei am Schlüssel CFBundleExecutable . Ich hatte die ausführbare Datei umbenannt und ein Leerzeichen zwischen zwei Wörtern entfernt. (ZB: von "Wild Racer" zu "WildRacer"). Es hat 1 Tag gedauert, um es zu erkennen !!

Xcode ist beim Debuggen soooo wenig hilfreich!

jeddi
quelle
4

In meinem Fall war main.m mit der Funktion main (...) nicht in der Liste "Compile Sources" in "Build Phases" enthalten. Um zu überprüfen, ob dies der Fall ist, geben Sie Build-Phasen ein und prüfen Sie, ob Ihre main.m in der Liste "Compile Sources" angezeigt wird.

Awsed
quelle
1
Ich weiß nicht, wie Sie das entdeckt haben, und es war nicht mein genaues Problem, aber es hat mich zur Lösung geführt, also DANKE !!
Ri_
3

Was es für mich gelöst hat, war das Setzen von Build Active Architecture Only von No auf Yes .

Mischa
quelle
3

mit X-Code 6.3.2

Optionen [Build-Einstellungen]. [Alle] - [Build-Optionen] - [Compiler für C / C ++ / Objective-C] - [Standard-Compiler (Apple LLVM 6.1)]

Erstellen Sie dann das Projekt neu und es läuft in Ordnung.

Bruce
quelle
2

In meinem Fall hat es geholfen, nur Xcode zu schließen und die Berechtigungen mit dem Festplatten-Dienstprogramm zu reparieren. Erst nach einem Neustart funktionierte es wie ein Zauber.

Markus Zeller
quelle
Ich hatte dieses Problem nach dem heutigen Upgrade von OSX. Damit war es in weniger als einer Minute erledigt.
Tonyedwardspz
2

Da ich heute Morgen auch mit diesem Problem konfrontiert war und keine der Antworten mir besonders in meinem Fall geholfen hat. Und nachdem ich es stundenlang versucht hatte, fand ich das Problem heraus.

Während ich versehentlich im Storyboard gearbeitet habe, habe ich mein " Main.storyboard " einfach in " .storyboard " umbenannt und wieder in " Main.storyboard " geändert " mein Problem zu lösen.

LÖSUNG (gemäß meinem Problem) : Möglicherweise haben Sie eine Datei umbenannt, aufgrund derer xcode sie nicht laden konnte, und ein Problem aufgetreten. Beispiel: Wie oben erwähnt, wird der Name " Ausführbare Datei " geändert.
Möglicher Problembereich: Möglicherweise die letzten Dateien, in denen Sie gearbeitet haben.

rahulchona
quelle