Xcode: "Diese App konnte zu diesem Zeitpunkt nicht installiert werden."

75

Arbeiten mit meiner ersten Anwendung für Lernzwecke. Es geht gut, ist aber auf ein Problem mit Xcode gestoßen. Wenn ich versuche, die Anwendung auf dem iPhone-Simulator auszuführen, wird immer die Meldung "Diese App konnte zu diesem Zeitpunkt nicht installiert werden." Angezeigt.

Bildschirmfoto

Was ist falsch? Beim Versuch, die App zu erstellen, treten keine Fehler auf. Hat versucht, den Build zu reinigen. Installieren Sie die Pods neu. Xcode neu gestartet. Alle Einstellungen auf dem Simulatorgerät wurden gelöscht, die Probleme bestehen jedoch weiterhin.

Die Fehlermeldung gibt mir keine Informationen. Gibt es eine andere Protokolldatei, in die ich schauen könnte oder so?

JoakimSjo
quelle
1
Was ist los, fragst du? Xcode ist fehlerhaft. Das Beenden und Neustarten von Xcode hilft oft.
Picciano
3
Hah! Ich habe die Lösung direkt nach dem Posten dieses Beitrags gefunden. Der Fehler war etwas mit einer Plist-Datei. Fand den Fehler in der Protokolldatei unter ~ / Library / Logs / CoreSimulator /
JoakimSjo
2
@PureRushh Kannst du mehr Details geben? Beschreiben Sie vielleicht, was passiert ist, als Antwort auf Ihre eigene Frage. Könnte jemand anderem helfen.
Matt
Überprüfen Sie den laufenden Simulator, löschen Sie Ihre App wurde zuerst installiert. Ich löse mein Problem auf diese Weise.
彦 恺
Force Quit Simulator und Build and Run Xcode funktioniert !!
Yogesh Patel

Antworten:

83

Ich habe das Problem gefunden. Das Problem war, dass ich einer ungültigen Eigenschaftslistendatei einige Schlüssel hinzugefügt hatte. Ich habe den Fehler gefunden, indem ich in der Protokolldatei gesucht habe, die sich hier befand: ~ / Library / Logs / CoreSimulator /

JoakimSjo
quelle
Ich habe mein Problem gelöst, das darauf zurückzuführen war, dass die Lokalisierung teilweise unterbrochen wurde, indem eine Info.plist am falschen Ort belassen wurde.
John
1
Danke, das war wirklich hilfreich. Anstatt uns diese nutzlose und frustrierende Fehlermeldung zu geben, könnte Apple möglicherweise vorschlagen, die Simulatorprotokolle zu überprüfen, selbst wenn es dem Entwickler überlassen bleibt, den genauen Fehler zu ermitteln.
todd412
1
Mein Protokoll hatte den zugrunde liegenden Fehler, dass ich einen falschen Schlüssel hatte Info.plist. VIELEN DANK!
Herr Rogers
4
Die Datei mit dem Namen: CoreSimulator.logim Verzeichnis ~ / Library / Logs / CoreSimulator /.
Almas Adilbek
3
Bin wieder auf dieses Problem gestoßen. Das Simulatorprotokoll in der Simulator-App meldete keine Probleme. Simulator -> Debug -> Open System Log.... Ich werde nur CoreSimulator.logmit tail -f ~/Library/Logs/CoreSimulator/CoreSimulator.logdem Problem berichten.
Herr Rogers
76

Setzen Sie den Simulator zurück:

Hardware -> Erase All content and settings...

Bereinigen Sie Ihr Projekt:

shift+ cmd+K

shift+ opt+ cmd+K

Dies sollte Ihr Problem beheben

raed
quelle
6
FWIW: Ich musste nur das Projekt bereinigen, damit die App erneut installiert werden konnte.
lustig
Es wurde für mich behoben. Wie nervig.
Ethan
@Ethan stimme voll und ganz zu! Glücklich, dass ich geholfen habe
raed
FWIW: Ich musste nur den Simulator zurücksetzen, damit die App erneut installiert werden konnte: P
Bruno Ely
11

Ich weiß, dass die Frage beantwortet wurde, aber für andere, die auf dasselbe Problem stoßen, schlage ich Folgendes vor:

  • Überprüfen Sie die Simulatorprotokolle, wenn sie etwas Nützliches drucken. Wählen Sie zuerst den Simulator aus und öffnen Sie dann über die Menüoption Debug -> Systemprotokolle öffnen .

  • Stellen Sie sicher, dass nur 1 Simulator ausgeführt wird.

  • Löschen Sie die ältere Version der App aus dem Simulator.

  • Wenn Sie ein benutzerdefiniertes Framework importieren, stellen Sie sicher, dass das benutzerdefinierte Framework-> Bundle-ID nicht mit currentAppProject-> Bundle-ID identisch ist. Wenn Sie sich nicht sicher sind, ändern Sie einfach die Bundle-ID des aktuellen Projekts.

  • Auch einige der Simulatoren können fehlerhaft sein -> Ändern Sie einfach den Simulator, es kann das Problem beheben, für mich hat das Ändern des Simulators funktioniert.

Emy Stats
quelle
1
Das Löschen der alten Version der App von der Sim hat es für mich behoben.
Matthew Crenshaw
Für mich tritt das Problem wieder auf. Eigentlich habe ich ein Umbrella-Framework erstellt und meine beiden Frameworks hatten dieselben Bundle-IDs. Durch Ändern der Bundle-ID wurde mein Problem dauerhaft behoben.
Emy Stats
In meinem Fall weiß ich nicht, wie sie sich unterscheiden, aber das Objective-C-Projekt läuft in Ordnung, aber Swift nicht
quangkid
In meinem Fall war "benutzerdefiniertes Framework-> Bundle-ID" mit dem Zielprojekt identisch.
Muhammad Umair
5

Problem in ~ / Library / Logs / CoreSimulator // MobileInstallation gefunden

Der Wert NSExtension.NSExtensionAttributes.WKAppBundleIdentifier der WatchKit 2-App-Erweiterung stimmt nicht mit der Bundle-ID der WatchKit-App überein

Antonioni
quelle
Danke für den Tipp. Ich hatte dieses Problem, nachdem ich die Bundle-ID geändert hatte, aber aus irgendeinem Grund war die ID im WKAppBundleIdentifier der Apple Watch-App und der Apple Watch-Erweiterung nicht korrekt
marcomoreira92
5

Für alle, die Zeit mit diesem obskuren Fehler verschwenden. Wenn Sie keine relevanten Protokolle haben und alle anderen Antworten fehlschlagen, können Sie überprüfen, ob Sie kürzlich ein Framework hinzugefügt haben, das aus irgendeinem Grund (nicht untersucht, warum) nicht eingebettet, sondern nur verknüpft werden kann. Ist mir mit GoogleMaps für iOS passiert.

Valentin Radu
quelle
Wenn Sie versuchen, einen Symlink zu einem Framework zu verwenden, kann dieser Fehler auftreten.
SDsykes
5

Ich habe dieses Problem behoben, um DerivedData aus den Xcode-Einstellungen zu entfernen . und auch neu starten den Simulator von Hardware.

Sonam Maniar
quelle
5
rm -rf ~/Library/Developer/Xcode/DerivedData/
lin
quelle
4
Können Sie bitte Ihre Antwort erklären?
Pramod More
Ich denke, das hat mit Xcode-Caches zu tun. Meine Fehlerdialogmeldung (das Thema dieses SO-Threads) enthielt die Details, dass etwas in einem / caches / -Ordner nicht gefunden werden konnte. Ich habe den obigen Befehl vor einiger Zeit erkannt (nicht sicher, ob er das gleiche Problem lösen soll) und ihn ausgeführt. Das Problem wurde für mich behoben. Ein nützlicher Befehl, den Sie sicher in Ihrer xcode-Toolbox behalten sollten.
Reece
4

Das Ändern des CFBundleShortVersionString in InfoPlist.strings so , dass es mit dem in info.plist übereinstimmt, hat dies für mich behoben. Nach dieser Änderung musste ich die Option "Alle Inhalte und Einstellungen löschen" des Simulators verwenden.

Der Versuch, auf einem Simulator mit iOS 9.0 (anstelle von 11.2) zu starten, führte stattdessen zu diesem Fehler, der mir half, mehr Antworten auf das anscheinend gleiche Problem zu finden:

Der Vorgang konnte nicht abgeschlossen werden. (LaunchServicesError-Fehler 0.)

Aleksi Sjöberg
quelle
4

Ich habe das auf allen Simulatoren und allen Geräten gesehen. Das Deinstallieren der App würde einmal funktionieren, aber es schlug bei mir weiterhin fehl.

Die Lösung bestand darin, alle Pods meines Projekts zu löschen:

pod deintegrate

Und dann erneut installieren:

pod install

Dies war mit XCode 9.3 und iOS 11.2 / 11.3.

CodeBender
quelle
3

Starten Sie einfach den Simulator neu, um das Problem in meinem Fall zu beheben.

Luat Vu Dinh
quelle
3

Als ich mit einem anderen Entwickler, der eine andere Version von CocoaPods verwendete, die Filialen wechselte, funktionierte das Löschen abgeleiteter Datenordner!

Rustylepord
quelle
1
Ich hatte eine ähnliche Situation, das Löschen abgeleiteter Daten funktionierte auch für mich
MikeG
2

Nur ganz der Simulator und neu starten funktioniert bei mir. In meinem Fall tritt der Fehler immer auf, wenn ich die Bundle-ID ändere und anschließend den iPhone X-Simulator ausführe.

F.Strunk
quelle
2

Ich bin auf diesen Fehler gestoßen, aber er hatte nichts mit meinen Info.plistoder Cocoapods zu tun . Ich hatte versehentlich eine doppelte NotificationServiceExtensionGruppe in meinem Xcode-Projekt gelöscht , was dazu führte, dass ich ein NotificationServiceExtensionZiel hatte, das keine Quelldateien hatte (ich benötige nur eine Quelldatei, um die umfangreichen Benachrichtigungen des Urban Airship SDK zu integrieren / zu huckepack).

Nachdem ich das Commit zurückgesetzt hatte, bei dem ich die doppelte Gruppe gelöscht hatte, und dann die richtige doppelte Gruppe gelöscht hatte (diejenige, bei der die Quelldatei nicht als Teil des Ziels aufgeführt war), konnte ich einwandfrei erstellen und ausführen.

tylermilner
quelle
2

Um hier ein paar zusätzliche Informationen hinzuzufügen. Während Xcode nicht hilfreich ist, um Ihnen zu erklären, warum die App nicht installiert werden konnte, weist die Konsole recht gute Fehlermeldungen auf. Starten Sie einfach Console.app ( Anwendungen> Dienstprogramme> Konsole ) und filtern Sie die Ausgabe nach installcoordinationd.

Es gibt Ihnen so etwas, das den Fehler beschreibt:

installcoordinationd - [IXSCoordinatedAppInstall _onQueue_acquireAssertionAndDoInstall] _block_invoke: Installation für Kennung: com.acme.location-thingy uuid: blah-blah-blah-foo Absicht: IXCoordinatorIntentInitiating Ersteller / appDRI: MIInstallerErrorDomain - Code = 99 "WatchKit v3 App hat Info.plist Schlüssel nicht zulässig: NSLocationUsageDescription" Userinfo = {LegacyErrorString = WatchKitAppIllegalInfoPlistKey, Function = - [MIExecutableBundle hasOnlyAllowedWatchKitAppInfoPlistKeysForWatchKitVersion: Fehler:], SourceFileLine = 1841 NSLocalizedDescription = WatchKit v3 App hat Info.plist nicht zulässig Schlüssel : NSLocationUsageDescription }

Hoffe das ist hilfreich für jemanden!

Ben Lachman
quelle
2

Dieser Fehler ist bei der Entwicklung meiner ersten WatchKit-App aufgetreten. Befolgen Sie die Anweisungen von @PureRushh, @Antonioni und anderen, um den Inhalt von:

~ / Library / Logs / CoreSimulator / CoreSimulator.log

Der Protokollinhalt führte mich zu dem Fehler. Ich werde die Details angeben, falls andere bei der Entwicklung von WatchKit-Apps auf diesen Fehler stoßen.

Protokollmeldung :

com.apple.dt.Xcode [89555]: installApplication: withOptions: error :: Error Domain = IXUserPresentableErrorDomain Code = 1 " Diese App konnte zu diesem Zeitpunkt nicht installiert werden. " UserInfo = {NSLocalizedDescription = Diese App konnte zu diesem Zeitpunkt nicht installiert werden time., NSUnderlyingError = 0x7f9ab87d1f20 {Error Domain = MIInstallerErrorDomain Code = 101 " Die Bundle-ID com.somecompany.AirTime2.watchkitapp der WatchKit 2.0-App wird nicht durch die Bundle-ID der übergeordneten App gefolgt von einem '.'; . "

Ursache : Ich habe den mit dem BundleIdentifier-Schlüssel in der Info.plist (über General-> Bundle Identifier) ​​der übergeordneten App verknüpften Wert so geändert, dass er einem URL-Typ entspricht (für die SSO-Umleitung). Ich konnte jedoch den Wert der WatchKit App Info.plist, der dem WKCompanionAppBundleIdentifier-Schlüssel zugeordnet ist, nicht aktualisieren (siehe zweite fette Zeile).

Fix : Ändern Sie den Wert der WatchKit App Info.plist für den Schlüssel WKCompanionAppBundleIdentifier so, dass er mit der Bundle-ID der übergeordneten App übereinstimmt

user1825506
quelle
1

Möglicherweise möchten Sie auch unter Funktionen nach Ihren verschiedenen Zielen suchen. Am Ende hatte ich ein Problem mit meiner App-ID

Geben Sie hier die Bildbeschreibung ein

Joshuakcockrell
quelle
1

Ich habe auch diesen Fehler bekommen. Alles begann kurz nachdem ich Xcode meine Projekteinstellungen aktualisieren ließ. Speziell für mein CocoaPod-Teilprojekt. Ich habe die Pods entfernt und neu installiert, und das hat mein Problem gelöst. Hoffe, dass dies für Sie oder andere funktioniert, die diese Frage ebenfalls finden.

Joseph
quelle
1

Anstatt den Simulator neu zu starten, können Sie die App auch einfach aus dem Simulator löschen. Dieser Fehler wird verursacht, wenn Sie Ihre App für die Produktion vorbereitet haben und dann versuchen, sie auf einem Telefon zu erstellen. Es gibt Probleme, wenn Sie versuchen, dieselbe App zweimal zu erstellen (aus diesem Grund tritt dieses Problem auch nicht auf, wenn Sie im Testmodus ausgeführt werden).

Eric Wiener
quelle
1

Wenn Sie ein benutzerdefiniertes Framework importieren, stellen Sie sicher, dass das benutzerdefinierte Framework-> Bundle-ID nicht mit currentAppProject-> Bundle-ID identisch ist. Wenn Sie sich nicht sicher sind, ändern Sie einfach die Bundle-ID des aktuellen Projekts. Für mich geht das : )

NSKevin
quelle
1

In meinem Fall wurde die Meldung angezeigt, als ich von Cocoapods nach Karthago migrierte und das Firebase iOS SDK unter meinen Abhängigkeiten hatte.

Das Problem wurde behoben, als mir klar wurde, dass Firebase NICHT zu den Frameworks gehören muss, die in der carthage copy-frameworksPhase kopiert werden.

Weitere Informationen zu Firebase und Karthago finden Sie in der offiziellen Dokumentation .

Xavier Lowmiller
quelle
1

Ich habe das gleiche Problem wie dieses konfrontiert. aber nichts hat bei mir funktioniert. Dann bemerkte ich ein Problem in meiner info.Plist-Datei. Der Name der ausführbaren Datei war anders als der Schemaname in Schema bearbeiten. Stellen Sie also sicher, dass beide identisch sind, und versuchen Sie dann, Ihr Projekt auszuführen. Es sollte funktionieren.

jindal
quelle
1

Wenn immer noch jemand mit diesem Problem konfrontiert ist, überprüfen Sie diese Schritte. Dies geschieht normalerweise, wenn in Ihrer Info.plist ein Fehler vorliegt. In meinem Fall gab es zwei Einträge für unterstützte Schnittstellenorientierungen.

Befolgen Sie diese Schritte und Sie werden sicherlich die Lösung dafür finden. Die meisten von ihnen sind bereits oben erwähnt

  1. Simulator> Gerät> Alle Inhalte und Einstellungen löschen
  2. Entfernen Sie doppelte Einträge der Ausrichtung der unterstützten Benutzeroberfläche oder überprüfen Sie Ihre Plist-Datei auf Fehler
  3. In Ihrem Xcode> Produkt> Bereinigungsordner bereinigen (Cmd + Umschalt + K)
  4. Versuchen Sie einfach, das Projekt zu erstellen und auszuführen

Ich hoffe, Sie können dieses irritierende Problem danach beheben.

Bitte überprüfen Sie das beigefügte Referenzbild Geben Sie hier die Bildbeschreibung ein

Bhavesh Bansal
quelle
0

Ich hatte dieses Problem bei der Arbeit mit Xcode 9.2. Die Lösung besteht darin, die App einfach zu löschen und erneut zu installieren.

Jayprakash Dubey
quelle
Sobald die App installiert ist, kann ich sie nicht mehr neu installieren. Dies funktioniert also nicht für mich.
Ethan
@Ethan: Warum so?
Jayprakash Dubey
Um klar zu sein, habe ich nicht abgestimmt. Aber das hat bei mir nicht funktioniert. Am Ende funktionierte das Gerät zurück und bereinigte den Build und das Projekt
Ethan
1
Diese Antwort ist nicht falsch, eine der Lösungen für dieses Problem. Ich benutze es auch.
Yucel Bayram
0

Dies geschah, als ich in Xcode 10.0 eine leere Build-Nummer für das Ziel festgelegt hatte.

Murray Sagal
quelle
0

In meinem Fall habe ich versucht, ein Widget auszuführen. Die Schemaeinstellungen für das Widget sollten lauten: Ausführen -> Info -> Ausführbar: "Beim Start fragen"

Ergunkocak
quelle
0

Hallo Leute, ich möchte euch nur wissen lassen, dass keines der oben genannten Verfahren für mich funktioniert hat.

Geben Sie hier die Bildbeschreibung ein

Ich war damit beschäftigt, eine dynamische Bibliothek in mein Projekt zu integrieren. Ich weiß, dass die Bibliothek funktioniert hat, also habe ich mir keine Gedanken darüber gemacht. Ich habe nur den Verweis auf MyLibrary1 gelöscht, MyLibrary1 neu kompiliert und für einen erfolgreichen Build erneut eingebettet. Hoffe das hilft jemandem.

Grüße Rolf

Rolf Dubek
quelle
0

Ich lösche die Dateien in ~ / Library / Logs / CoreSimulator /, aber das Problem besteht weiterhin. Dann lösche ich alle Inhalte und Einstellungen und es ist in Ordnung!

Yvan
quelle
Was bedeutet "Alle Inhalte und Einstellungen löschen"?
Robbie
1
@Robbie Simulator -> Hardware -> Alle Inhalte und Einstellungen löschen ...
Yvan
0

Das Verschieben von Xcode in den Anwendungsordner hat das Problem behoben. Wenn Sie einen Xcode aus dem Internet heruntergeladen haben, sollten Sie dies in Betracht ziehen.

Vladimir Kuzomenskyi
quelle
0

Löschen Sie einfach Ihre Anwendung selbst im Simulator und führen Sie sie erneut aus. es hat bei mir funktioniert.

user1911959
quelle