web-dev-qa-db-ger.com

"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

Immer wenn ich versuche, meine App in Xcode 6 Beta 4 auszuführen, erhalte ich die Fehlermeldung:

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

Dieser Fehler wird unabhängig vom Simulator oder Gerät angezeigt, auf das ich abziele.

Ich habe versucht:

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

Hat jemand anderes dieses Problem gefunden und eine Lösung gefunden?

Screenshot

252
drewag

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

Schauen Sie sich den Unterschied an, es sieht so aus, als ob der Plist irgendwie mit dem Plist eines Spielplatzes vermischt worden wäre. Der Bezeichner des Pakets lautete "com.Apple.dt.playground.iOS-18300-13" und die Namen der ausführbaren Dateien und des Pakets waren "iOS" sowie einige andere Ungewöhnlichkeiten.

Dies ist der volle Unterschied, falls jemand es 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>
27
drewag

Ich benutze Xcode6 GM. Ich bin auf das gleiche Problem gestoßen. Was ich tat, war zu Build-Einstellungen -> Build-Optionen zu gehen. Dann habe ich den Wert des "Compiler für C/C++/Objective-C" in Default Compiler . geändert enter image description here

In Xcode machen Sie folgendes

Fenster -> Organizer -> Projekte -> Die App mit dem Problem -> Löschen-Button in Abgeleiteten Daten.

Ich habe dann das Projekt gesäubert und voila

funktioniert

146
Tom

Haben Sie das Problem auch auf GERÄT (nicht nur Simulator)?


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

Bei mir ist dieses Problem aufgetreten (in Xcode 6), als ich versuchen würde, den Hauptbereich zu ändern info.plist Eigenschaften, während Sie versuchen, meinen App-Namen zu ändern. 

Im info.plist Ich hatte Executable File name in einen anderen als den standardmäßigen ${EXECUTABLE_NAME}... geändert.

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

139
Albert Renshaw

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

52

Ich habe es durch das Bereinigen eines Build-Ordners behoben. Ich ging einfach zum "Produkt" -Menü und wählte "Option" + "Klicken". Danach wurde ein Problem gelöst.

46
yury.ku

Ich habe den gleichen Fehler in Xcode 8.2 gehabt. Der Grund, warum ich für mich herausgefunden habe, wird eine andere Info.plist in meinem Projekt hinzugefügt, während Sie eine Bibliothek hinzufügen (manuell kopieren).

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 ohne Erlaubnisalarm. 

25
Antony Raphel

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

18
Pratik Patel

Produkt -> Clean (Befehlswechsel K) hat das Problem behoben

14

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

Auf 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, Problem hat begonnen.

Ich habe alles versucht

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

nichts hat geklappt :(

Wie ich mich entschlossen habe

Ich war gerade dabei, ein neues Projekt zu erstellen, und dann habe ich gerade die physischen Ordner gelöscht , die ich hinzugefügt habe, bereinigt und JA !!

Es klappt!!

enter image description here

13
swiftBoy

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

12
Gellert Li

Ich hatte ein ähnliches Problem (xCode 6.2) für heruntergeladenen Beispielcode. Ich habe versucht, Executable Name auf Default in Info.plist zu setzen, aber das hat nicht funktioniert. 

Ändern Sie stattdessen Compiler für C/C++/Objective-C in Standard-Compiler (Apple LLVM 6.0) statt Nicht unterstützter Compiler (com.Apple.compilers.llvmgcc42) für das Projekt.

Screenshot

11

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

Gehen Sie zum Issue-Navigator und folgen Sie dem Warnhinweis "Aktualisieren der Einstellungen".

Boom, Magie!

10
ManuQiao

1) Gehen Sie zuerst auf Build-Optionen.

2) Dann wurde der Wert des "Compilers für C/C++/Objective-C" in Standard-Compiler geändert.

sauber und arbeitend :-)

10
Waseem Shah

Ich fand, dass es für mich ausreichend war, meinen Compiler in den Build-Optionen auf LLVM 6.0 zu ändern (xcode 6.1)

enter image description here

10

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

9
zeeawan

Ich habe diesen Fehler bei einigen älteren Projekten gehabt, die ich zum Aktualisieren aus dem Schrank bekomme. Es scheint, dass die Verwendung von Xcode 6 mit älterem Code dies aus irgendeinem Grund zu bewirken scheint. 

Ich habe dies in allen Projekten korrigiert, mit denen ich das gemacht habe:

  1. Löschen Abgeleitete Daten  
  2. in Produkt: sauber machen  
  3. gehen Sie zu Build-Einstellungen im Projektziel und gehen Sie zu Build-Optionen. Ändern Sie den Wert für "Compiler für C/C++/Objective-C" in " Default Compiler ".
9
user2431002

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

Einfach Löschen der Info.plist-Datei hat für mich funktioniert!

 Info.plist

8

Ich habe vor kurzem dasselbe Problem bei der Ausführung eines alten Projekts (ursprünglich in Xcode 4.x erstellt) in Xcode 6.0.1.

Ich habe das Problem behoben, indem Sie Architectures in Building Setting s auf den Standardwert geändert haben, der "Standard-Architekturen (armv7, arm64)" lautet. 

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

8
HunTer DRF

Ich habe alle aufgeführten 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 Cocoapoden verbunden wurde. Zum Glück war dies mein eigenes Modul, also habe ich diese Plist einfach aus dem Submodule-Projekt gelöscht und 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 sources-Abschnitt 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 einen info.plist. Sieht aus, als würde Xcode diesen Namen besonders berücksichtigen

Der in Xcode 6.4 und Xcode 7.0 reproduzierte Fehler

8
Tim

In meinem Fall benenne ich die Bundle Name- und Executable file-Werte in info.plist genauso wie den Projektnamen um. Es hat für mich funktioniert.

7
Ans

Ich hatte dieses ähnliche Problem. Irgendwie wurde mein Wert für die ausführbare Datei des Schlüssels durcheinander geraten. Ändern Sie es einfach wieder in $ {EXECUTABLE_NAME} (Unter Ihrem Projekt> Info). Arbeitete für mich!

6
Viper

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

Xcode ist beim Debuggen soooo wenig hilfreich!

5
jeddi

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

In meinem Fall habe ich ein Projekt mit vielen Zielen. Jedes Ziel ist eine Anpassung des Basisprojekts, nämlich Cocoa Touch Static Library und der Ziele Applications. Auch wenn die Datei main der Bibliothekskompilierung hinzugefügt wird, jedoch nicht in jedem Ziel, wird diese Fehlermeldung angezeigt. Also was habe ich gemacht? Die main-Datei wurde manuell jedem Ziel im Compile Sources-Abschnitt und Bingo hinzugefügt.

5
Gustavo Barbosa

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, gehen Sie zu Build-Phasen und prüfen Sie, ob Ihre main.m in der Liste "Compile Sources" angezeigt wird.

4
Awsed

mit X-Code 6.3.2 

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

Dann erstellen Sie das Projekt neu und es läuft in Ordnung.

3
bruce

Was für mich gelöst wurde, war das Setzen von Nur aktive Architektur erstellen von Nein bis Ja .

3
Misha

In meinem Fall half es einfach, Xcode zu schließen, die Berechtigungen mit dem Festplatten-Dienstprogramm repariert. Erst nach einem Neustart funktionierte es wie ein Zauber.

2
Markus Zeller

Da ich mich auch heute morgen mit diesem Thema konfrontiert habe, hat mir keine der Antworten besonders in meinem Fall geholfen. Und nachdem ich stundenlang versucht hatte, fand ich das Problem heraus.

Während ich versehentlich im Storyboard arbeitete, habe ich gerade mein "Main.storyboard" in ".storyboard" umbenannt und es wieder in "Main.storyboard" geändert. mein Problem gelöst.

LÖSUNG (Wie in meiner Ausgabe angegeben): Möglicherweise haben Sie eine Datei umbenannt, aufgrund derer Xcode sie nicht laden konnte, und ein Problem ausgelöst hat Beispiel: Wie oben erwähnt, der Fall, dass "Ausführbare Datei "Name
Möglicher Problembereich: Möglicherweise die letzten Dateien, in denen Sie gearbeitet haben.

2
rahulchona

Ich hatte ähnliche Probleme. Anscheinend habe ich Info.plist von außerhalb des Projektordners eingefügt. Dies führte zu demselben Fehler, der nach jedem Build angezeigt wird (außer nachdem ich ihn nach dem Säubern des Projekts ausgeführt habe).

Um das Problem zu beheben, musste ich einfach Info.plist aus dem Projektordner einfügen. 

2
Radek

Ich verwende Xcode 6 GM. Ich bin auf das gleiche Problem gestoßen. Was ich getan habe, war zu Build-Einstellungen -> Build-Optionen (Sie können "Compiler" suchen), Und änderte dann die Option "Compiler für C/C++/Objective-C" in Standard-Compiler.

1
Harry Zhang

Die Fehlermeldung ist generisch und sagt nicht wirklich aus, was sie wirklich bedeutet.

Für mich musste ich frühere Github-Umkehrungen wiederherstellen, die gaben:

armv7 armv7s arm64

zur Architektur.

1
SmallChess

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

In Kürze gehen Sie zu Datei> Arbeitsbereich-Einstellungen ...> System erstellen und ändern Sie es in "Legacy Build System".

1
informatiker

Ich habe den Namen in einen neuen Namen geändert, dann habe ich den alten Namen in mein Projekt übernommen und es hat mir geholfen.

1

Wählen Sie das Schema-Menü, indem Sie die gewünschte Taste rechts neben den Run/Stop-Tasten drücken:

 Picture 1


Klicken Sie auf Edit Scheme ...:

 Picture 2


Wählen Sie Ihre ausführbare Datei aus:

 Picture 3

0
Borzh

Ich habe dieses Problem in Xcode 10.1 erhalten, nachdem ich meinem Swift-Projekt Objective C-Dateien hinzugefügt habe. Haben Sie dies funktioniert, indem Sie die folgenden Schritte ausführen,

  • Fügen Sie eine .m-Datei hinzu, um die Quellen unter Target -> Build Phases zu kompilieren
  • Fügen Sie -objc zu den Compiler-Flags direkt neben der M-Datei hinzu
0
yaali

Ich konnte mein Projekt von einer Sicherung vor Xcode 6.1 wiederherstellen.

Nachdem ich meinen Arbeitsbereich aus einem anderen Verzeichnis geöffnet habe, konnte ich mein Ziel ohne diesen Fehler ausführen. Der Simulator funktioniert jetzt auch einwandfrei.

0
Bamaco

Ich hatte dieses Problem, als meine appdelegate-Klasse nicht mit meinem Hauptanwendungsziel verknüpft wurde, sondern mit einem separaten statischen Rahmen. Durch die direkte Verknüpfung mit der Ziel-App wurde das Problem behoben.

0
StackRunner

Ich habe dies behoben, indem ich meine abgeleiteten Daten aus den Einstellungen in xcode löschte

0
user3288482

Ich habe dieses Problem behoben, indem ich zwischen "arm32" - und "arm64" -Architekturen umstellte. Von den "Build Settings" aus habe ich "Architectures" und "Valid Architectures" von "arm32" in "arm64" geändert und es hat funktioniert. Nachdem Sie eine Reihe anderer Einstellungen geändert haben, macht das Umschalten zwischen arm32 und arm64 keinen Unterschied mehr. Daher bin ich skeptisch, ob dies die Routenursache war.

Vorher habe ich alle anderen Vorschläge hier ausprobiert:

  • plist war unverändert
  • EXECUTIBLE_NAME wurde nicht geändert
  • Sauber bauen
  • Löschen Sie DerivedData
  • Standard-Compiler
0
brunobowden

Überprüfen Sie die Leseberechtigungen für den Projektordner (Rechtsklick für den Projektordner in Finder> Informationen abrufen).

0
Di B.

Ich hatte das gleiche Problem mit Xcode 10 & React-native. Alle oben genannten Lösungen haben mir nicht geholfen. 

Meine Lösung: Erstellen Sie ein neues Projekt mit demselben Namen. Und ändern Sie die Projekt- und Arbeitsbereichsdateien mit denen aus dem duplizierten Projekt ... und es funktioniert !!! (nach einigen kleinen Build-Problemen mit Pfad etc)

0
evgenii

Meine Lösung war:

  1. Geben Sie dies in Ihr Terminal ein: Open ~/Library/Developer/CoreSimulator/Devices /

  2. Löschen Sie den entsprechenden Ordner

  3. Kompiliere es erneut und es sollte funktionieren

0
CGN

Keine der angegebenen Antworten hat für mich funktioniert. In meinem Fall habe ich den Fehler behoben, indem ich die Zielarchitekturen in Build-Einstellungen/Architekturen/Gültige Architekturen auf $ (ARCHS_STANDARD) aktualisiert habe, da arm64 fehlte. Dies verhinderte nicht, dass das Projekt erstellt wurde, obwohl eine Warnung ausgegeben wurde, in der empfohlen wurde, die gültigen Architekturen zu aktualisieren. Zur Laufzeit wurde jedoch der Fehler "App konnte nicht geöffnet werden" angezeigt.

Ich vermute, dass dieser Fehler eher allgemeiner Natur ist und nicht immer mit einem Berechtigungsproblem verbunden ist, sondern möglicherweise angezeigt wird, wenn das generierte App-Paket ungültig ist.

0
Daniel Mavrakis

Bitte überprüfen Sie auch, ob Sie eine Drittanbieter-Bibliothek mit plist hinzugefügt haben. Irgendwann hat eine Drittanbieter-Lib die Info-Liste, die das Problem verursacht. 

0
Shreesh Garg

Diese Meldung wird auch angezeigt, wenn Sie in Ihrem Projekt .m-Dateien verwenden, die in der Erstellungsphase "Quelle kompilieren" nicht hinzugefügt wurden.

0
Secondwave

Bei mir war ein Fehler in der Datei info.plist, Feld Bundle identifier Irgendwie wurde es modifiziert 

com.myCompany.${PRODUCT_NAME:rfc1034identifier} 

von 

com.myCompany.${PRODUCT_NAME}

0

Auslöser für diesen Fehler war, dass ich im Stammverzeichnis meines Ressourcenordners einen Ordner mit demselben Namen wie meine endgültige ausführbare Datei hatte.

Beim Starten der ausführbaren Datei glaube ich, dass Xcode den Ordner gefunden hat und Probleme beim Ausführen eines Ordners hatte! ;-)

0
Nicolas Buquet

Ich gehe in den Ordner, in dem sich Ihre Xcode-Dokumente befinden, und drücke Befehl + I, um Informationen zu erhalten. Drücken Sie unten auf die Sperre, um den Ordner zum Bearbeiten der Berechtigung zu entsperren. Wenn die Berechtigungen gut aussehen, aktivieren Sie das Kontrollkästchen für die Anwendung in geschlossenen Ordnern, und lassen Sie das erledigen. Ich habe das nicht persönlich gesehen und bin mir nicht sicher, ob Sie dies beim Bearbeiten der Build-Berechtigungen in Ihrem Beitrag gesagt haben.

0
fingaz

Ich habe meine Kakaopods aktualisiert und neue unterstützte Architekturen in den Build-Einstellungen hinzugefügt und das Problem behoben.

0
Scott Loomis

Ich bin auf dieses Problem sowohl auf dem Simulator als auch auf dem Gerät gekommen. 

Und es gibt ein heikles Phänomen. Wenn ich das Projekt an einen anderen Ort kopiere, besteht eine Chance, dass dieses Problem beim ersten Start verschwunden ist. Aber nachdem ich sauber gemacht und ausgeführt habe, kommt dieses Problem.

Ich habe fast alle Lösungen aus den Antworten auf diese Frage probiert, aber keine.

Mit Hilfe des Versionskontrollsystems git kann ich die vorherige Version des Codes überprüfen und sehen, welche Änderung zu diesem Problem geführt hat.

In meinem Projekt ist die Version HEAD funktionsfähig, und meine letzte umcommitted-Änderung führt zu diesem Problem.

Also checke ich jede Datei aus der bearbeitbaren Version meines Codes aus, um das Problem zu finden. Wenn ich den coin.xcodeproj/project.pbxproj auschecke (Münze ist mein App-Name), ist dieses Problem verschwunden.

Lösung: checke einfach den bearbeitbaren coin.xcodeproj/project.pbxproj, für meinen Fall benutze ich einfach die HEAD Version ist ok.

git checkout HEAD coin.xcodeproj/project.pbxproj


Um es eine Zusammenfassung zu machen:

0
Kris Roofe

Ich hatte das Problem, dass die AppDelegate fehlte.

Das Erstellen eines minimalen Problems löste das Problem:

import UIKit

@UIApplicationMain
final class AppDelegate: UIResponder,UIApplicationDelegate {
}
0
Etan