Xcode hat plötzlich die Ausführung des Projekts auf der Hardware eingestellt: "xxx.app konnte nicht gestartet werden: .. Keine solche Datei .." [geschlossen]


139

Xcode kann meine App nicht mehr ausführen. Sie wurde direkt gestartet, nachdem ich sie vom Gerät gelöscht und versucht hatte, sie erneut zu installieren, indem ich sie erneut in Xcode ausführte (was ich bereits hunderte Male getan habe).

Es sagt

"XXX.app konnte nicht gestartet werden"

"Keine solche Datei oder kein solches Verzeichnis (/Users/Mylaptop/Library/Developer/Xcode/DerivedData/MyApp-ekxcbebfpzkahtfkujyqkcwprzia/Build/Products/Debug-iphoneos/MyApps.app/MyApp)."

Ich habe das Telefon neu gestartet, Xcode neu gestartet, alles bereinigt, alles neu aufgebaut. Diese Fehlermeldung wird nicht ausgeblendet.

Dies ist mit Xcode 4.5, das ich seit seiner Verfügbarkeit verwende. Wenn ich zu 4.3.2 zurückkehre, sagt Xcode "Fertig laufende App", aber es macht eigentlich nichts - die App wird weder installiert noch ausgeführt.

Ich stecke völlig fest - ich kann nichts mehr auf dem Gerät ausführen.

Irgendwelche Vorschläge?


4
Gehen Sie zum Organizer in Ihrem Xcode, drücken Sie die Registerkarte Projekte und löschen Sie die abgeleiteten Daten für Ihr Projekt. Bereinigen Sie das Projekt und erstellen Sie es erneut.
Dinesh Raja

2
Holen Sie sich danach immer noch das Gleiche. Ich werde versuchen, Xcode neu zu installieren.
Gruntcakes

Ich denke, Sie haben etwas in Ihren Build-Einstellungen im Pfad geändert, um Ihre App auf dem Gerät auszuführen
Dinesh Raja

9
Ich fand heraus, was es war - während ich der info.plist Gerätefunktionen hinzufügte, hatte ich irgendwie eine neue Zeile hinzugefügt, ihr aber keinen Wert gegeben.
Gruntcakes

1
Während das Löschen der abgeleiteten Daten schließlich für mich funktionierte, half es nicht, bis ich das iPad und OS / X neu startete, den Papierkorb leerte, nachdem ich die abgeleiteten Daten mit dem Finder gelöscht hatte, und ein über einen USB-Anschluss angeschlossenes BLE-Peripheriegerät entfernte. Ich weiß nicht, welcher der Schritte erforderlich war - XCode wurde später mit dem angeschlossenen BLE-Peripheriegerät kompiliert -, aber nachdem alle diese Schritte zum Löschen der abgeleiteten Daten hinzugefügt wurden, wurde das Projekt problemlos kompiliert.
Mike

Antworten:


125

Das ist wirklich nervig. Dieser Fehler tritt in verschiedenen Situationen auf. Manchmal behebt ein Neustart des Xcodes das Problem. Wenn nicht, gehen Sie folgendermaßen vor:

Trennen Sie Ihr Gerät.

Löschen Sie die App von Ihrem Gerät.

Xcode beenden (Schließen Sie das Fenster nicht einfach, sondern beenden Sie es)

Abgeleiteten Datenordner löschen ( ~/Library/Developer/Xcode/DerivedData/-gbrvhlvwmpiobxdujegtghggrffp- oder so ähnlich)

Starten Sie nun Xcode erneut, schließen Sie das Gerät an und führen Sie das Projekt aus. Es sollte gut funktionieren.

vom DhilipSiva Blog


4
Das war der Schlüssel für mich. Schätzen Sie den Detaillierungsgrad in der Antwort.
Jason Pawlak

Nur eines der "wirklich nervigen" Dinge bei der Arbeit an dieser Plattform
Eile

2
funktioniert nicht ... ich laufe auf Gerät
Rajneesh071

Die obigen Schritte haben das Problem nicht gelöst. Ich erhalte immer noch die Meldung "<app> konnte nicht ausgeführt werden. <App> nicht gefunden".
user298261

arbeitete für mich, versuchen Sie dieses
Muhammad Waqas

57

Versuchen Sie, "Erforderliche Gerätefunktionen" in der Datei -Info.plist zu löschen.

Sie können armv7 auf einem 3G nicht und armv6 auf einem neueren Gerät nicht benötigen. Löschen Sie dieses Attribut einfach vollständig.


2
Dies ist die einzige Lösung, die für mich funktioniert hat. Bereits versucht, Zertifikate zu aktualisieren, Ordner zu bereinigen, Gerät, Xcode und Mac neu zu starten, half nichts. Löschen Sie einfach das Attribut und es wurde installiert und funktionierte einwandfrei.
automatisch

1
Diese Lösung hat auch bei mir funktioniert - seltsamer Fehler.
Fehlbezeichnung

Ich musste auch sicherstellen, dass gültige Architekturen im Setup armv6, armv7 und armv7s enthalten (ich verwende jetzt XCode 4.5 ... Ich weiß, dass dies einige Monate her ist, aber es ist erwähnenswert.) Außerdem sollten diese drei aufgelistet werden auch im Bereich Architekturen.
David Morton

Versuchte dies, keine Freude, aber die Sudhakar + Jagger Antwort funktionierte. Xcode 4.5.1 und ein iPad1
mm2001

Dies war das Problem für mich: Meine App hatte "Telefonie" als erforderliche Funktion und ich versuchte, die App auf einem iPad mini nur mit WLAN auszuführen.
Chitza

38

Ich habe die Antwort gefunden. Die Version des iOS-Bereitstellungsziels war nicht mit der Betriebssystemversion meines Geräts identisch.


Habe es auch für mich getan. Aus irgendeinem Grund möchte XCode das Bereitstellungsziel meines Projekts immer auf 6.0 zurücksetzen.
Donald Burr

3
hat auch für mich funktioniert ... Ich habe den Gerätetyp von "iPhone" auf "Universal" geändert und xcode hat das Ziel automatisch auf 6.0 geändert, was ich zunächst nicht bemerkt habe. Zurückgeschaltet auf 4.3 und es hat funktioniert ...
Jim Jose

Schade, dass das Entfernen der DerivedData und der erforderlichen Gerätefunktionen nicht geholfen hat. Daher habe ich mein Bereitstellungsziel von 6.1 auf 5.0 festgelegt und es funktionierte auf meinem iPod Touch unter iOS 5.1.
Richard Altenburg - Brainchild

oh Gott. wie oft werde ich das gleiche scheitern lassen ...
heximal

Dies war die Lösung für mich
George Buckingham

13

Versuchen Sie zuerst einige der oben genannten mit info.plists und löschen Sie abgeleitete Daten, bereinigen, etc.

Meine Lösung: XCode beenden, Projekt erneut öffnen. Gehen Sie zu abgeleiteten Daten im Finder. Gelöschte Daten für alle Projekte (waren alle Papierkorb, aber ich würde versuchen, zuerst Ihre problematischen Projektdaten zu löschen). Und dann hat es wieder funktioniert. Das Löschen abgeleiteter Daten aus XCode hat nicht funktioniert.


4
Der Pfad zum abgeleiteten Datenordner: / Users / <Benutzer> / Library / Developer / Xcode / DerivedData /
Pascalius

Dies löste mein Problem + Das Löschen aller Ordner gab 10 GB Speicher frei, also doppelt danke :)
thesummersign

10

Das Folgende hat mein Problem behoben ... meine App hat bei Debug / Release für mich funktioniert, dann habe ich ein paar Ad-hoc-Archive erstellt und Debug / Release-Builds haben nicht mehr funktioniert.

Symptome:

  • ungültige Berechtigungsfehler beim Starten von Xcode auf das Gerät (mit Berechtigungen spielen ...)
  • Sofortiger Abbruch ohne Fehler (beendet) beim Ausführen des Simulators
  • konnte nicht gestartet werden ... Verzeichnis blabla ... / build / product / debug-iphoneos / ... beim Start von Xcode auf das Gerät nicht gefunden.

Nachdem ich versucht hatte, von den Schmerzen aller anderen zu profitieren, fand ich schließlich in Targets [AppName]:

Build Settings
Build Locations
Build Products Path build

sollte sein

Build Products Path build/Products

Keine Ahnung, wie das falsch eingestellt wurde. Dies muss irgendwo in Xcode / Springboard fest codiert sein, da "Produkte" sowohl in Xcode als auch in der Gerätekonsole angezeigt wird. Dies ist Xcode 4.5.1.

Screenshot, wo Build / Produkte eingestellt werden sollen


1
Könnten Sie das formatieren, um die Bedeutung etwas klarer zu machen? Es ist nicht offensichtlich, wie es eingegeben werden soll.
Itsbruce

1
Wow, danke Keith. Nach 4 frustrierenden Stunden stellte sich heraus, dass dies die Ursache war. Wie um alles in der Welt es sich verändert hat, ist mir ein Rätsel.
Karl_

1
Ja, es hat mein Problem gelöst, aber warum ist das passiert?!
Ali

7

Ich habe dieses Problem durch gelöst

Umbenennen eines Verzeichnisses über meinem XCode-Projekt

Das Ändern des Projektnamens wurde XCodefür mich behoben.

In XCodeunter dem Projekt - Navigator, klicken Sie auf den Projektnamen, und es sollten Sie es im Finder wie eine Datei umbenennen lassen. Das Löschen abgeleiteter Daten hat nicht geholfen.


Das hat es für mich getan, aus irgendeinem Grund ist es fehlgeschlagen, als ich einen Leerraum im Projektnamen hatte. Umbenannt in kein Leerzeichen und es läuft gut.
Rita

6

Ich habe mein XCode-Projekt mit CMake erstellt und irgendwie (oder mein dummes Ich) die Eigenschaft "Ausführbare Datei" in der info.plist gelöscht oder geleert. Ich habe es auf $ {EXECUTABLE_NAME} zurückgesetzt und es hat wieder funktioniert.

Ich habe wirklich viel Zeit gebraucht, um alle Vorschläge und Korrekturen durchzuarbeiten, bis ich dieses Problem endlich gefunden habe.

Hoffe, dies wird jemandem helfen, der mit dem gleichen Problem zu kämpfen hat

Bearbeiten:

Es war irgendwie CMake, der meine Plist-Datei durcheinander brachte. Ich habe meine eigene Info.plist erstellt und sie folgendermaßen verwendet:

SET_TARGET_PROPERTIES( MyApp PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_LIST_DIR}/MyApp.plist )

In meiner Liste hatte ich diesen Eintrag:

<key>CFBundleExecutable</key> <string>${EXECUTABLE_NAME}</string>

Leider scheint CMake diese Datei immer noch zu analysieren und $ {EXECUTABLE_NAME} durch eine leere Zeichenfolge zu ersetzen, da dies die CMake-Variablensyntax ist. Meine schnelle Arbeit ist die folgende:

SET( EXECUTABLE_NAME "\${EXECUTABLE_NAME}" )

Jetzt funktioniert es wie ein Zauber.

Ich bin wahrscheinlich mit genau diesem Problem allein, aber wer weiß.


Nett. Ich habe versehentlich meine .plist-Datei entfernt und dies war eine der Eigenschaften, die ich erneut hinzufügen musste. Danke

Das set(EXECUTABLE_NAME "\${EXECUTABLE_NAME}")war genau das, was ich brauchte. Ich habe diese Zeile am Ende meiner ios-Toolchain-Datei hinzugefügt und sie wurde fehlerfrei behoben. Vielen Dank!
Deathicon

5

Ich hatte das gleiche Problem, aber in meinem Fall hatte ich eine falsche Anforderung in meiner info.plist (Gyroskop für ein iPhone 3Gs erforderlich)


4

Ich habe versucht, mein Projekt auf einem anderen System als dem auszuführen, auf dem es entwickelt wurde. Ich erhielt die Meldung "xxx.app konnte nicht gestartet werden: .. Keine solche Datei ..".

Die App wurde vom Gerät entfernt und anschließend die abgeleiteten Daten aus dem Organizer in xcode für die App gelöscht. Organisator -> Projekte -> Abgeleitete DAta -> Löschen

Mein Problem wurde behoben.


4

Sie müssen das Bereitstellungsziel NIEDRIGER als die Version Ihres Geräts festlegen


4

Für mich bestand die Lösung darin, nur das richtige (nicht verteilte) Bereitstellungsprofil zu verwenden.

Ich habe standardmäßig immer mein Ad-hoc-Bereitstellungsprofil verwendet, aber dann habe ich mein Entwicklerprofil (Teamprofil) verwendet, und das hat die Probleme gelöst. Ich habe das Verzeichnis der abgeleiteten Daten aus Sicherheitsgründen bereinigt, weiß aber nicht genau, ob es erforderlich ist.

XCode hatte früher eine Warnung, die Sie aufforderte, das richtige Bereitstellungsprofil zu verwenden, aber diese Fehlermeldung scheint in XCode 4.5 verschwunden zu sein.


Dies ist sicherlich eine Ansammlung von Fehlern und Korrekturen. Offensichtlich führen viele XCode-Fehler zu dieser nicht hilfreichen Fehlermeldung. DIESES Mal schien es für uns und einige weitere unten auf Probleme mit Zertifikaten / Signaturen / Profilen zurückzuführen zu sein, einige der alten abgelaufenen zu werfen und sicherzustellen, dass ich überall dieselben Profile verwendete (wie Jabolcnik unten) Ich habe mehrere Entwicklerkonten, die meines Arbeitgebers und meine eigenen.) XCode konnte die App auf dem Gerät ausführen.
Taryn

4

Ich hatte dieses Problem durch eine sehr seltsame Lösung.

Mein Problem war etwas anders, da ich 2 Entwicklerzertifikate im Schlüsselbund habe. Wir haben zwei Entwicklerkonten (sagen wir AD und BD).

1) Ich habe die Bundle-ID von com.BD.game in com.AD.game geändert. 2) Das Gerät, auf dem ich Probleme hatte, wurde nur in AD-Bereitstellungsprofilen signiert. 3) Ich konnte das Spiel auf dem iPad nicht debuggen - obwohl das Gerät gültige Bereitstellungsprofile hatte, hatte ich gültige Zertifikate, ich habe Mac, Gerät neu gestartet, Xcode neu installiert ... nichts hat geholfen.

Was ich heute getan habe, war die Datei project.pbxproj auf seltsame Einträge zu untersuchen.

Was ich fand, war, dass Xcode das richtige Bereitstellungsprofil verwendete, aber die ipa / app mit einem falschen Zertifikat signierte.

"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer: **BD** (XX******)";

Nachdem ich den Namen und die ID manuell korrigiert hatte; Alles funktioniert wie Charme.


4

Ich habe den gleichen Fehler bekommen. In meinem Fall wurde das Bereitstellungsziel auf 6.1 festgelegt und versucht, ein iPad mit iOS 5.1 auszuführen. Als ich mein Bereitstellungsziel auf 4.3 geändert habe, wurde das Problem behoben.


Ich habe immer noch das Problem. Versuchen Sie dies Trennen Sie Ihr Gerät. Löschen Sie die App von Ihrem Gerät. Beenden Sie xcode. Starten Sie nun Xcode, schließen Sie das Gerät an und führen Sie das Projekt aus. Es sollte gut funktionieren.


4

Für mich (unter IOS 7 und Xcode 5) ist der Fehler sofort behoben, nachdem ich mit meinem Gerät im Organizer "Zum Mitgliedercenter hinzufügen" ausgeführt habe.


Das hat geholfen. Danach musste ich das Gerät jedoch neu starten, um den Fehler zu beheben.
Bouncing Bit

3

Ich möchte erwähnen, dass der DerivedData-Ordner im Finder am einfachsten wie folgt geöffnet werden kann:

  1. Öffnen Sie den Organizer.
  2. Klicken Sie auf "Projekte".
  3. Wählen Sie Ihr problematisches Projekt aus.
  4. Klicken Sie neben dem Pfad der DerivedData auf den kleinen Rechtspfeil.

Das Löschen des Inhalts des DerivedData-Ordners hat bei mir funktioniert. Anstatt die Schaltfläche "Löschen ..." zu verwenden, sollten Sie mehr Erfolg haben, wenn Sie die Dateien manuell über den Finder löschen.


3

Gehen Sie zu: Ihr Projektziel -> Info und entfernen Sie in den CustoM iOS-Zieleigenschaften die erforderlichen Gerätefunktionen. In meinem Fall waren das armv7 und armv7s.

Danach wurde die App erfolgreich auf meinem iPhone 4 erstellt.

So sieht es aus, nachdem ich beide Anforderungen entfernt habe


Ich sah das gleiche Problem, die App lief auf meinem 5S das erste Mal, aber nicht später, stellte sich heraus, dass meine erforderlichen Gerätefähigkeiten auf "armv7" eingestellt waren, und entfernte das von der Info-Liste behoben
Cam Saul

2

Für mich habe ich vergessen, dass ich "Telefonie" in den "Erforderlichen Gerätefunktionen" in der info.plist hatte. Das wurde entfernt und es funktionierte schließlich auf meinem iPad.


2

Für mich war es in den meisten Fällen nicht genug, Xcode neu zu starten, DerivedData zu bereinigen und das Gerät neu zu starten, bis ich herausgefunden hatte, dass iTunes auch läuft, und nach dem Beenden von iTunes funktionierte alles einwandfrei!

Meine Schritte sind jetzt einfach:

1. Beenden Sie Xcode.
2. Wenn iTunes ausgeführt wird, beenden Sie iTunes.
3. Öffnen Sie das Projekt erneut.

Sie müssen die App nicht vom Gerät entfernen, das Projekt bereinigen oder das Gerät neu starten / trennen. Ich denke, das liegt daran, dass Xcode und iTunes einige gängige Bibliotheken verwenden (wie Sie wissen, fordert Xcode Installer bei der Installation von iOS SDK immer auf, iTunes zu beenden).


2

Ich hatte dieses Problem und versuchte eine Reihe von Vorschlägen, die für mich nicht funktionierten. Dann fand ich den Vorschlag zum Entfernen der "erforderlichen Gerätefunktionen" in der Datei -Info.plist (die für mich Standortdienste und GPS enthielt). Das hat funktioniert! Ich habe sie dann wieder hinzugefügt und es hat immer noch funktioniert. Dies war xCode 4.6.1 und meine App ist Entwickler mit Phonegap / Cordova


Ich habe dort auch eine leere Zeichenfolge gefunden und sie hat den Organizer blockiert! Danke für den Tipp !
PetrV

2

Ich habe alles versucht und trotzdem würde es nicht laufen. Ich habe das Problem behoben, indem ich den abgeleiteten Build-Speicherort geändert habe. Datei> Projekteinstellungen> "Abgeleiteter Datenspeicherort" wird in projektbezogen geändert. Oder Sie können einfach sicherstellen, dass der Standardpfad die Berechtigung zum Lesen / Schreiben hat.


1

Mein Problem schien darin zu bestehen, Portrait (oberer Home-Button) als Element 0 in den Ausrichtungen der unterstützten Benutzeroberfläche in meiner Liste auszuwählen. Das zu entfernen oder nach unten zu verschieben schien mein Problem zu beheben. Stelle dir das vor.


1

Ich hatte dieses Problem auch für eine Universal-App mit Xcode 4.5 NUR auf meinem iPhone, auf der ich zwei Debug-Geräte hatte:

iPhone 4 iOS 5.1.1
iPad 1   iOS 5.1.1

Die Info.plist hatte einen leeren Eintrag unter "Erforderliche Gerätefunktionen". Ich weiß, dass ich diesen leeren 'Artikel 0' nicht eingegeben habe. Die App wird auf dem iPhone geladen, da ich das leere Element entfernt habe. Ich habe dieses Problem bei keiner früheren Version von Xcode festgestellt. Dies bedeutet, dass Xcode 4.5 dieses eingefügte Element für die beiden von mir verwendeten Geräte unterschiedlich behandelt. Ich habe mich vorher geirrt, aber dies scheint ein Fehler in Xcode 4.5 zu sein.


1

Dies mag offensichtlich erscheinen, aber Sie müssen Ihr Bereitstellungsziel auch auf das Betriebssystem festlegen, auf dem Ihr Gerät ausgeführt wird.

Wenn Sie also auf iOS 6 aktualisieren, wird Ihr Bereitstellungsziel auf iOS 6 festgelegt. Sie müssen die Bereitstellung auf 5.1 durchführen, wenn auf dem Gerät, auf dem Sie testen, noch 5.1 ausgeführt wird.


1

Mein Problem wurde schließlich behoben, indem überprüft wurde, ob das productNameAttribut im /* Begin PBXNativeTarget section */Abschnitt meiner project.pbxprojDatei mit dem nameAttribut übereinstimmt .

Sobald Xcode es so bearbeitet hat, dass es gleich ist, führt es die App endlich korrekt auf meinem Gerät aus!

Danke an Max Weisel für die Hilfe! : D.


1

Das Löschen des abgeleiteten Datenordners hat mir nicht geholfen. Mit Xcode 4.4.2 bestand die einzige Lösung darin, Organizer zu öffnen und alte abgelaufene und überflüssige Bereitstellungsprofile auf dem iDevice zu löschen. Dann hat wieder alles perfekt geklappt.


Dies ist sicherlich eine Ansammlung von Fehlern und Korrekturen. Offensichtlich sind viele XCode-Fehler in diesem Niemandsland zu finden.
Taryn

1

Dies mag ein roter Hering sein, aber ich hatte diese Probleme, als ich benutzerdefinierte Startbilder hinzufügte, bevor ich die Standardbilder löschte. Das Löschen der Standardstart- und benutzerdefinierten Bilder und das anschließende Hinzufügen der benutzerdefinierten Bilder haben dies für mich behoben. Ich arbeite mit iOS 6 und Xcode 4.5.2


1

Es scheint einige verschiedene Dinge zu geben, die diese sehr hilfreiche Fehlermeldung verursachen können.

Für mich lag es an einer falschen "Erforderlichen Gerätefunktion" in der Info.plist. Ich hatte versehentlich ein leeres Array-Element hinzugefügt (über der Architektur, armv7). Das leere Array-Element wurde gelöscht und jetzt ist alles in Ordnung!


1

Ich hatte dieses Problem und nichts hat wirklich geholfen, außer: Mein Problem begann, nachdem ich den Inhalt meiner info.plist geändert hatte und kein Zurücksetzen geholfen hatte.

Was es für mich gelöst hat war:

  1. Erstellen Sie eine Vanille-Info-Liste in einem brandneuen Projekt
  2. Ersetzen Sie die alte info.plist durch die neue
  3. Umbenennen (wie app_info.plist)
  4. Legen Sie Build Settings / Packaging / INFOPLIST_FILE als neue fest.
  5. Nehmen Sie alle Änderungen vor, die Sie für Ihr Projekt benötigen

Hoffentlich hilft das. Ich habe alles versucht, was hier vorgeschlagen wurde, und dies war die einzige Lösung für mich.


1

Angesichts des gleichen Problems, aber jetzt ist das Problem gelöst, habe ich Executable file info.plist gelöscht . Ich habe es wieder auf $ {EXECUTABLE_NAME} gesetzt und es hat wieder funktioniert .. :)

Geben Sie hier die Bildbeschreibung ein


1

In meinem Fall habe ich einfach die 777-Berechtigung direkt auf den Ordner xxx.app für alle Dateien gesetzt und arbeite!

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.