App kann im Simulator nicht ausgeführt werden: Beim Ausführen ist ein Fehler aufgetreten (Domain = LaunchServicesError, Code = 0).


91

Nachdem das Projekt in Xcode 6 erfolgreich kompiliert wurde, kann ich es mit der oben genannten Meldung nicht im Simulator ausführen. Ich habe alle möglichen Nachforschungen angestellt, alles versucht und immer noch keine Fortschritte gemacht.

Ich arbeite nicht mit Swift, ich verwende auch keine Widgets oder Erweiterungen. Schlagen Sie daher bitte keine Lösungen vor, die durch diese verursacht werden, wie in ähnlichen Fragen zu sehen ist.

Wenn jemand eine andere mögliche Ursache (oder Lösung !!) gefunden hat als diese gefunden hat , helfen Sie bitte. Vielen Dank


Es wäre hilfreich, wenn Sie auflisten könnten, was Sie versucht haben, diese Empfehlungen auszuschließen.
Donmarkusi

Das Problem ist jetzt behoben, aber nur zu Informationszwecken habe ich versucht: - eine Bereinigung ausführen - den Projektcache / die abgeleiteten Daten entfernen - sowohl Simulator als auch Xcode neu starten - den Mac neu starten - Xcode neu installieren - CocoaPods bereinigen und neu installieren - Build-Einstellungen auf seltene Einstellungen überprüfen Auftritte Nichts half. Ich habe nicht versucht, mit der Benennung von App-Erweiterungen herumzuspielen, da ich keine verwende.
Miki

3
"Produkt -> Sauber" hat bei mir funktioniert.
Nshuman


Der Neustart des Simulators löste mein Problem
Bhavesh

Antworten:


175

"Inhalt und Einstellungen zurücksetzen " in den Menüoptionen von iOS Simutalor und Starten des Simulators nach dem Beenden haben mein Problem behoben.

Inhalt und Einstellungen zurücksetzen


6
Viel besser als die erste Antwort. Sollte als Lösung markiert werden.
denislexic

Danach musste ich auch den Simulator beenden und erneut öffnen.
jfredsilva

Diese Anforderung ist bereits in meiner Antwort @jfredsilva erwähnt.
Sauvik Dolui

1
Löschen Sie auch die App, wenn Sie sie zuvor auf dem Simulator installiert hatten
Danywarner

Arbeite für mich. Vielen Dank
Nikhil Chaurasiya

125

Das Bereinigen des Build-Ordners hat das Problem für mich behoben. Ich hoffe es hilft jemandem!

(Halten Sie die Alt- Taste gedrückt: Produkt> Build-Ordner bereinigen )


1
YA YA YA, behoben das Problem: D
Abo3atef

1
Dies funktionierte für mich, nachdem ich Cocoapods und den .xcworkspace aktualisiert hatte.
Johannes der König

3
Dies ist ein must-do nach dem Update auf Cocoapods v1.0.0
Anconia

Nur um hinzuzufügen, dies ist das einzige, was dieses Problem für mich nach dem Update auf Cocoapods v1.0.0 behoben hat. Keine der anderen SO-Antworten funktionierte.
Andy Rice

Arbeitete, ich bin so glücklich
Anavarroma

33

Ich habe jede andere hier aufgeführte Lösung ausprobiert. Nun, ich habe mein Projekt von Swift 1.2 auf Swift 2.0 portiert. Die Anwendung blieb hängen, auch nachdem viel Fehler beim Debuggen und Starten von Diensten gemeldet wurde.

Lösung: Dies geschieht aufgrund der Framework-Kompilierung.

App-Ziel -> Build-Phasen -> Frameworks einbetten.

Markieren Sie die Kopie daher nur bei der Installation auf. Reinigen Sie das Projekt und führen Sie es aus!

Geben Sie hier die Bildbeschreibung ein


Können Sie mehr darüber erklären, wie "Nur bei Installation kopieren" das Problem behebt?
Sethfri

@ sethfri: "Nur bei Installation kopieren", um anzugeben, dass die Erstellungsphase Dateien nur in Installationsversionen des Produkts kopiert. developer.apple.com/library/mac/recipes/…
AG

3
Ich verstehe, was die Worte "Nur bei Installation kopieren" bedeuten. Ich frage, wie dies das Problem behebt, mit dem der Fragesteller konfrontiert ist.
Sethfri

28

Dies wurde nun behoben. Das Problem wurde durch die ShareKit-Bibliothek verursacht, die aus Kompatibilitätsgründen von CocoaPods hinzugefügt wurde. Nach dem Entfernen der Bibliothek und des gesamten zugehörigen Codes wurde die App erfolgreich im Simulator gestartet. Ich empfehle , das Systemprotokoll auf weitere Details zu diesem Problem zu überprüfen, da es mich in die richtige Richtung weist (unter Angabe des Namens der in Konflikt stehenden Bibliothek).


Ich habe gerade shareKit hinzugefügt und habe das gleiche Problem.
Dirkoneill

24
Falls dies jemandem hilft: Sie können auf das Systemprotokoll zugreifen, indem Sie Console in Spotlight eingeben.
Nate Cook

Für mich war es die MixpanelAppExtension
villy393

Danke, das hat mir geholfen. XCode 7.3.1 und mein Protokoll zeigten "ErrorDescription = Kopie konnte nicht fest verknüpft werden". Ich habe eine Version festgelegt, aber keine Build-Nummer in Ziel -> Allgemein -> Identität. Nachdem ich einen Wert für Build angegeben hatte, verschwand das Problem.
William Smith

Um das Systemprotokoll zu überprüfen, versuchen Sie diesen Befehl in Terminal: tail -f /var/log/system.logiOS Der Simulator druckt direkt auf stdout, sodass Sie sehen können, dass die Protokolle mit den Systemprotokollen verwechselt werden.
Vhong

16

Falls jemand dieses Problem in Kombination mit Kakaofrüchten hat, haben mir diese Schritte geholfen, diesen Fehler zu beheben (nach einigen Stunden):

  • Lauf pod cache clean
  • von SRC_ROOT ausführen rm -rf Pods(optional rm Podfile.lock)
  • Klicken Sie auf die Simulator- App, klicken Sie auf Simulator -> Inhalt und Einstellungen zurücksetzen ...
  • Gehen Sie zu Xcode. Klicken Sie in der Menüleiste auf Produkt -> Bereinigen (oder klicken Sie auf Umschalt + Befehl + K). Damit wird Ihr Xcode-Projekt bereinigt.
  • Erstellen Sie eine neue Terminal-Shell (Klicken Sie in der Menüleiste auf Shell -> Neues Fenster)
  • Lauf rm -rf ~/Library/Developer/Xcode/DerivedData/

... dann versuchen Sie, Ihr Projekt zu erstellen und auszuführen.

Hinweis: SRC_ROOT finden Sie, indem Sie den Navigator aufrufen, auf das Projekt klicken, in der Projekt- und Zielliste erneut auf das Projekt klicken , in die Build-Einstellungen gehen , ganz nach unten zum benutzerdefinierten Abschnitt und zum SRC_ROOT scrollen wird als PODS_ROOT gekennzeichnet. Nehmen Sie das und kopieren Sie es wörtlich in das Terminal und fahren Sie mit Schritt 2 aus der obigen Liste fort.

Ich hoffe es hilft.


2
Das hat es geschafft. Danke dir! Wirklich sollte die akzeptierte Antwort sein.
Dan Loewenherz

Das hat mein Problem gelöst! Auf jeden Fall sollte es die akzeptierte Antwort sein!
Victor Oliveira Antonino

15

Ich werde das Problem durch die angegebenen Schritte für den Simulator beseitigen

1. Weg

  1. Inhalt und Einstellungen von zurücksetzen Simulators zurück .
  2. Reinigen Sie Ihr Projekt mit Cmd + Shift + K .
  3. Löschen Sie Ihre abgeleiteten Daten .
  4. Der letzte, der wichtiger ist, ändert Ihre Bundle- ID durch "com.yourcompanyname.projectname" wie "com.facebook.Facebook".

2-Wege

Du kannst nur die vorgegebene Zeile sein, es funktioniert bei mir

Die letzte, die wichtiger ist, ändern Sie Ihre Bundle- ID durch "com.yourcompanyname.projectname" wie"com.facebook.Facebook".

Vielen Dank und viel Spaß beim Programmieren.


Meinst du cmdstatt win? ;) (Oder vielleicht verwenden Sie eine Windows-Tastatur.)
JeroenJK

@JeroenJK Ja, es ist Cmd.
Dharmbir Singh

Wow, die Änderung der Bundle-ID hat endlich für mich funktioniert. Vielen Dank!
ArtSabintsev

6

Könnte mit diesem Problem zusammenhängen: "Diese App enthält eine App-Erweiterung mit einer illegalen Bundle-ID"

Ich musste die Bundle-IDs für meine App und Erweiterung wie folgt formatieren:

com.company.AppName
com.company.AppName.Extension

Hier gilt das gleiche. Ich habe die Bundle-ID geändert, weil die Erweiterung (Widget) nicht angezeigt wurde, und das hat sie verursacht. Musste die Erweiterungsversion von 9.2 auf 8.2 senken und das Bundle wie oben erwähnt ändern.

Danke, genau mein Problem!
Andres

5
  1. Zuerst "Inhalt und Einstellungen zurücksetzen"
  2. Wenn Sie die Build-Nummer nicht eingegeben haben, füllen Sie sie aus und führen Sie sie aus.

Es ist für mich gelöst.


4

Wenn Sie den Namen der angegebenen Klasse InterfaceControllerbeim Starten eines neuen Projekts standardmäßig ändern . Auf diese Klasse wird im Info.plistunter dem Schlüssel verwiesen RemoteInterfacePrincipalClass. In meinem Fall habe ich den vom OP erwähnten Fehler erhalten, bis ich den Namen der Klasse dort festgelegt habe (siehe Screenshot).

Info.plist: Hauptklasse festlegen


Das hat wirklich geholfen! Vielen Dank!
Lonkly

2

Wenn Sie nach Problemen bei der Integration mit WatchOS 2.0 hier sind, gehen Sie zu - ~/Library/Logs/CoreSimulator/[Device UDID]/system.logund wenn Sie so etwas sagen, WatchKit 2 app has frameworks; that's not allowed.folgen Sie dem Link unten.

http://zyafa.me/blog/watchos-2-and-embedded-frameworks


1
Vielen Dank, dass Sie mich auf die Simulator-Protokolldatei verwiesen haben. In meinem Fall ~/Library/Logs/CoreSimulator/CoreSimulator.logenthüllte die Protokolldatei bei , dass mein verknüpftes Framework keine CFBundleIdentifierin seiner Info.plist hatte
berbie

Framework hatte keinen CFBundleIdentifier in seiner Info.plist: Ich bekomme auch das, was ist die Lösung? Nicht auf Watchkit oder watchOS verwenden
Abhishek Thapliyal

1

Ich bin ein adMob-Benutzer und habe das Aktivieren von "Nur bei Installation kopieren" in App-Ziel -> Build-Phasen -> Frameworks einbetten gelöst.


1

Habe das gleiche Problem nach dem Lokalisieren meiner App. Besonders Info.plist. Es scheint , ich leer war CFBundleShortVersionStringin InfoPlist.stringsnach dem Fixieren , dass der Simulator gestartet Arbeit richtig.


Das war auch mein Problem. Wenn Sie dies sehen, versuchen Sie, alle Schlüssel, für die keine Lokalisierung erforderlich ist, aus Ihren InfoPlist.strings-Dateien zu entfernen. In meinem Fall hat das Entfernen der Schlüssel unten alles behoben: CFBundleName CFBundleShortVersionString CFBundleVersion
Lazarev

1

Ich habe dieses Problem durch Hinzufügen einer Ordnerreferenz mit dem Namen "Ressourcen" erhalten.

Wenn ich ihm einen anderen Namen gebe, läuft es!


1
Dieser hat mir ein ähnliches Problem gelöst! Ich habe eine Dylib eingebettet, und es wurde ein kryptischer Installationsfehler "hatte keinen CFBundleIdentifier in der Info.plist" verursacht. Nachdem der Ressourcenordner in einen anderen Ordner
geändert wurde,

Zwei Fliegen mit einer Klappe;)
Elch

1

Es gibt eine Reihe von Dingen, die diesen Fehler verursachen können. Die beste allgemeine Antwort besteht darin, das Konsolenprotokoll zu durchsuchen CoreSimulator, da der Simulator das zugrunde liegende Problem protokolliert, wenn er diese Nachricht anzeigt.


1

Vielen Dank für den Hinweis auf @Miki und ein großes Lob an Sie. Ich hatte gestern das gleiche Problem wie Sie (und habe vor einigen Tagen ShareKit 3.0.0 von CocoaPods zur App hinzugefügt). Ich hatte den Verdacht, dass ShareKit mir dieses Problem verursacht, aber jetzt kann ich sicher sein, welche Bibliothek dies genau verursacht. Folgendes habe ich in meinem Protokoll gefunden (wenn es anderen zugute kommen kann):

Error Domain = LaunchServicesError Code = 0 "Der Vorgang konnte nicht abgeschlossen werden. (LaunchServicesError error 0.)" UserInfo = 0x7fa836097aa0 {Error = PackageInspectionFailed, ErrorDescription = Info.plist konnte nicht aus dem Bundle unter Pfad / Users / {UserName} / geladen werden Bibliothek / Entwickler / CoreSimulator / Geräte / 99FEB34E-6F00-4EFA-861A-A6985AFE96D8 / data / Library / Caches / com.apple.mobile.installd.staging / temp.X7eead / extrahiert / {AppName} .app / Frameworks / LiveSDK. Rahmen}


1
Wie können Sie anhand Ihres Protokolls erkennen, dass ShareKit den Fehler verursacht?
Chipbk10

1
Ich habe das gleiche in meinem Protokoll, aber das Entfernen und Hinzufügen von Simulatoren hilft nicht weiter ... Wie haben Sie den Fehler behoben?
Amitay

1

Wenn Sie Bibliotheken installiert haben, CocoaPodswährend XCode geöffnet war, müssen Sie lediglich XCode schließen und die Bibliothek aus der PodDatei entfernen. Führen Sie den Befehl aus , mit dem pod installdiese Bibliothek deinstalliert wird. Installieren Sie dann die Bibliothek erneut. Stellen Sie sicher, dass XCode während der Installation und Deinstallation von Bibliotheken immer geschlossen ist.


0

Ich hatte genau das gleiche Problem und es war ShareKit.

Auf dem Simulator hatte ich "Error Domain = LaunchServicesError Code = 0".

Auf dem iPhone6-Gerät hatte ich "App-Installation fehlgeschlagen Das Anwendungspaket konnte nicht überprüft werden."

Als ich ShareKit entfernt habe, hat es funktioniert.


0

Ich hatte dieses Problem, als ich meiner App ein Apple Watch-Ziel hinzufügte und versehentlich die Datei InterfaceController.m entfernte. Das Hinzufügen der Datei zum Ziel hat das Problem behoben.


0

Es gibt verschiedene Dinge, die dies verursachen können. Ein Blick in die Konsole kann Ihnen einen Hinweis geben.

In meinem Fall war das Problem eine Erweiterung, die erstellt wurde, bevor ich den Namen des Produkts geändert habe. Xcode hat den alten nicht gelöscht und wurde dann bei zwei Erweiterungen mit derselben Bundle-ID gestresst.

(Das Löschen des Build-Ordners hat mein spezielles Problem behoben).


0

In meinem Fall kam das Problem von einem Symbolsatz, bei dem einige Bilder fehlten. Einmal habe ich das Icon-Set durch ein anderes ersetzt und die App im Simulator deinstalliert. Ich konnte es wieder ausführen.


0

Ich habe alle meine Pod-Dateien entfernt und alle ersetzt. Das Problem für mich war anscheinend, dass das Schrauben-Framework alt war und diesen Fehler verursachte. Ich habe einen Clean & Reset-Inhalt erstellt und jetzt ist alles gut.


0

Fügen Sie das Google Maps-Framework nicht zum eingebetteten lib-Abschnitt hinzu, da dies meine Build-Unterbrechung behoben hat.


Das Entfernen des eingebetteten Frameworks, das nicht notwendig war, um dort zu sein, hat auch mein Problem
behoben

0

Ich hatte diesen Fehler bei der Entwicklung einer App für Apple Watch, nachdem ich in Info.plist hinzugefügt hatte: "App Transport Security Settings" und "Allow Arbitry Loads" = YES. (In der WatchKit-App ist die WatchKit-Erweiterung gut !!) Das Löschen dieser beiden Zeilen funktioniert weiterhin.

Geben Sie hier die Bildbeschreibung ein


0

Bei mir tritt das Problem auf, weil ich mein Framework ( GoogleMobileAds.frameworkin meinem Fall) zu eingebetteten Binärdateien hinzugefügt habe , nicht zu verknüpften Frameworks und Bibliotheken .

Zu Ihrer Information weist AdMob Sie an, das Add Files to "Your Project"Menü auf Xcode zu verwenden, aber ich war zu faul, um der Anweisung zu folgen.


0

Ich hatte dieses Problem beim Versuch, UI-Tests in einem Projekt auszuführen, das AWS Cognito enthält.

So habe ich es gelöst.

  1. Wählen Sie das UI-Testziel aus.
  2. Klicken Sie auf den Abschnitt Phasen erstellen.
  3. Klicken Sie auf das Pluszeichen, um eine Phase zum Kopieren von Dateien hinzuzufügen Phase "Dateien kopieren" hinzufügen
  4. Ändern Sie in der Phase "Dateien kopieren" das Ziel in "Frameworks" (siehe letztes Bild).
  5. Klicken Sie auf das Pluszeichen unterhalb der Phase "Dateien kopieren".
  6. Wählen Sie das Framework aus, für das Sie eine Fehlermeldung erhalten, und klicken Sie auf die Schaltfläche Hinzufügen (Ihr Framework ist wahrscheinlich nicht das erste Element in Ihrer Projekthierarchie). Wählen Sie Framework zum Kopieren aus Es sollte am Ende so aussehen. Endergebnis
  7. Wiederholen Sie die Schritte 5 und 6 für alle Frameworks, bei denen ein Fehler auftritt.
  8. Führen Sie Ihre Tests aus.
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.