Ich habe eine sehr einfache Anwendung mit einer einzigen Ansicht, die mehrere UILabels enthält. Beim Ausführen in Simulator gibt die Xcode-Konsole den folgenden Fehler zurück:
libMobileGestalt MobileGestalt.c: 875: MGIsDeviceOneOfType wird auf dieser Plattform nicht unterstützt.
Der Simulator selbst zeigt nur einen weißen Bildschirm. Ich habe auch versucht, es auf einem Entwicklergerät mit demselben weißen Bildschirm auszuführen. Ich habe die Dokumentation durchsucht, kann aber keinen Verweis darauf finden MGIsDeviceOneOfType
. Die Anwendung wurde in Swift in Xcode 10 Beta unter macOS 10.14 geschrieben. Ich versuche, es auf den iPhone 7-X-Simulatoren sowie auf einem Entwicklungs-iPhone 7 auszuführen, auf dem die Zielsoftware (12.0) ausgeführt wird.
Antworten:
MobileGestalt
Die libMobileGestalt.dylib bietet ein zentrales Repository für alle Eigenschaften von iOS. Es kann analog zu der Gestalt von OS X sein, die Teil von ist
CoreServices
. Die Gestalt von OS X ist beispielsweise im Gestalt-Manager dokumentiert und ab 10.8 veraltet. MobileGestalt ist von Apple völlig undokumentiert, da es sich um eine private Bibliothek handelt.MobileGestalt ermöglicht das Testen von Systemeigenschaften, die auf verschiedenen Simulatoren kompatibel sein können oder nicht.
Nicht wenige Systemprozesse und Apps in iOS basieren auf MobileGestalt, das sich unter /usr/lib/libMobileGestalt.dylib befindet. Es ist eher eine Basisbibliothek, aber die verfügbaren APIs folgen den Apple Framework-Konventionen und verwenden beispielsweise das
MG
API-PräfixMGIsDeviceOneOfType
.Wenn Sie im iOS-Dateisystem nach MobileGestalt suchen, werden Sie es nicht finden - wie alle privaten Frameworks und Bibliotheken wurde es in /System/Library/Caches/...etc vorverknüpft. Wenn Sie gerne hacken und Pen-Tests durchführen, können Sie Tools verwenden, um diese zu extrahieren.
MobileGestalt bietet zahlreiche Informationen zu verschiedenen Aspekten des Systems - etwa 200 Abfragen. Hier sind ein paar.
Es gibt Hunderte mehr zB
AirplaneMode
,MobileEquipmentIdentifier
usw.MobileGestalt verwaltet eine Tabelle mit OSType-Auswahlcodes. Beispiel : c: 890 in der Nachricht: libMobileGestalt MobileGestalt.c: 890: MGIsDeviceOneOfType wird auf dieser Plattform nicht unterstützt. In diesem Fall
MGIsDeviceOneOfType
handelt es sich um eine Methode der MobileGestalt-Bibliothek .Anstatt die Simulatorversion zu überprüfen, gibt es einen separaten Selektor, mit dem die Funktionen des Simulators direkt abgefragt werden können. Die Meldungen weisen höchstwahrscheinlich auf Inkompatibilitäten zwischen Simulatorversionen und Xcode-Versionen und / oder nicht unterstützten APIs auf dem Simulator hin.
quelle
Ich habe es erfolgreich mit der Deaktivierung des Projektmülls gelöscht.
Gehen Sie zu < Name Ihres Projekts > -> Schema -> Schema bearbeiten. Gehen Sie dann zu Ausführen (Menü auf der linken Seite) und fügen Sie die folgende Umgebungsvariable hinzu:
Name : OS_ACTIVITY_MODE, Wert : disable
quelle
in meinem Fall: Überprüfen Sie Ihren App-Delegaten auf die Methode - didFinishLaunching. Ich hatte privat und bekomme den Fehler. Nach dem Entfernen von "privat" funktioniert alles einwandfrei
quelle
Ich habe gerade Xcode 10 Beta installiert und hatte das gleiche Problem. Ran Xcode 9.4.1 und das Problem ging weg.
quelle
Dieser Fehler tritt nur beim Testen / Debuggen auf Simulatoren auf.
Je neuer der Simulator, desto besser.
Fall: Ich starte den Simulator iPhone 8 und habe diese Meldung im Debugger erhalten.
Lösung: Ich habe auf einen neueren Simulator keine Fehlermeldung im Debugger umgestellt.
quelle
Dies ist beim Öffnen eines Projekts von GitHub auf Xcode 10.0 aufgetreten.
Die pragmatische Lösung war: Klicken Sie einfach mehrmals auf "Programmausführung fortsetzen" und deaktivieren Sie wahrscheinlich Ihren Ausnahme-Haltepunkt . Anscheinend war die Ausnahme wiederherstellbar.
Es ist keine echte Lösung, aber zu diesem Zeitpunkt war es gut genug für mich.
quelle
In meinem Fall war das Bereitstellungsziel des Ziels iOS 8. Als ich es auf iOS 10.3 hochgestuft habe, lief es sowohl auf dem Simulator als auch auf dem Gerät einwandfrei.
quelle
Ich sehe dieses Problem. Verwenden von Xcode 10.1. Erstellt ein brandneues Projekt - macht nichts anderes als einen weißen Bildschirm anzuzeigen. Es wurde festgestellt, dass es im Simulator für ältere Geräte angezeigt wurde. Zum Beispiel zeigen iPad Pro (12,9 Zoll) und iPad Pro (12,9 Zoll) (2. Generation) das Problem, aber das Problem ist für iPad Pro (12,9 Zoll) (3. Generation) weg. Wird für den iPhone XR-Simulator nicht angezeigt.
Grundsätzlich scheint nervig.
quelle
Wenn Sie von der App bereitgestellte Schriftarten haben, müssen Sie diese zu Info.plist hinzufügen und prüfen, ob für die Datei die Zielmitgliedschaft ausgewählt ist
quelle
Der normale Weg, wenn seltsame Fehler auftreten, hat geholfen:
1) Projekt reinigen;
2) Simulator herunterfahren;
3) Bringen Sie die Pods wieder an.
Xcode 10.
quelle
Für mich habe ich mit dem betreffenden Simulator Hardware-> Alle Inhalte und Einstellungen löschen ausgewählt.
Nach dem Neustart des Simulators funktionierte das Starten meiner App wie erwartet erneut.
quelle
Device
->Erase All Content and Settings...
Ich ging zu XCode -> Einstellungen -> Komponenten. Aktivierte alle Simulatoren und das Kontrollkästchen, um Updates automatisch zu installieren, und dann "Jetzt prüfen und installieren" und ging für ein paar Stunden weg, während sie alle aktualisiert wurden.
Jetzt ist das Problem weg - also ist es tatsächlich wie erwähnt. Neuer XCode mit alten - nicht aktualisierten Simulatoren.
quelle
Ich hatte das gleiche Problem, aber mit MapKit, wo eine MapView nicht angezeigt wurde, nur der weiße Bildschirm und der gleiche Fehler, wird MGIsDeviceOneOfType auf dieser Plattform nicht unterstützt.
Es wurde behoben, indem "Mehrdeutige Layout" -Warnungen behoben wurden, die an das MapView-Objekt gebunden waren. Jetzt funktioniert es einwandfrei und die Fehler sind verschwunden.
quelle
Was für mich funktioniert hat, war, innerhalb
general > Deployment Info > Main Interface
von CDVLaunchScreen zu wechseln und dasselbe auch innerhalbgeneral > App Icons and Launch Images > Launch Screen File
von CDVLaunchScreen zu tun.Ich komme aus Ionic, daher ist dies möglicherweise kein Problem für diejenigen, die sich in Swift / Objective-C entwickeln.
quelle
Ich habe kürzlich auf Xcode aktualisiert
10.2
und als ich versuchte, ein in einer früheren Version erstelltes Projekt auszuführen, ist der gleiche Fehler aufgetreten.Das Problem war, dass der Simulator vor dem Aktualisieren von Xcode ausgeführt wurde.
Die Lösung war für mich sehr einfach, Simulator zu beenden und neu zu starten, damit die neuen Änderungen abgerufen werden können. Ich denke nicht, dass das Modell des Simulators (iPhone SE oder iPhone X) wichtig ist. Sie müssen lediglich Ihren Simulator neu starten, damit das neue Update wirksam wird.
Ich würde empfehlen, sowohl Xcode als auch Simulator zu beenden und Ihren Mac neu zu starten.
quelle
Ich habe diesen Fehler erhalten, indem ich
.sync
die Hauptwarteschlange aufgerufen habe, die einen Deadlock (DispatchQueue.main.sync {}
) verursacht hat. Ich wollte anrufen.async
.quelle
Ich habe diesen Fehler erhalten, als ich versucht habe, eine JSON-Datei zu lesen, die sich in meinem Projekt befindet, und sie hat null zurückgegeben. Aus diesem Grund habe ich diesen Fehler erhalten.
Ich habe wegen eines Rechtschreibfehlers im Schriftnamen keine erhalten. Diese JSON-Datei enthielt die Schriftnamen. Nach dem Einfügen des Schriftnamens habe ich Daten erhalten und den Fehler behoben.
Ich habe fast alle oben genannten Lösungen ausprobiert, nichts hat funktioniert. Debuggen Sie also mit Geduld, Sie werden erfahren, was diesen Fehler verursacht, und in einer schlechten Zeit wird xcode in unserem Leben spielen :)
quelle
Ich hatte das gleiche Problem, aber ich habe es erfolgreich mit den folgenden Dingen fallen gelassen:
Ich hoffe es wird helfen.
quelle