Tengo una aplicación muy simple con una sola vista, que contiene varios UILabels. Al ejecutarse en Simulator, la consola Xcode devuelve el error:
libMobileGestalt MobileGestalt.c: 875: MGIsDeviceOneOfType no es compatible con esta plataforma.
El simulador en sí solo muestra una pantalla en blanco. También intenté ejecutarlo en un dispositivo de desarrollador con la misma pantalla blanca. He buscado documentación pero no puedo encontrar ninguna referencia a MGIsDeviceOneOfType
. La aplicación está escrita en Swift en Xcode 10 beta en macOS 10.14. Estoy intentando ejecutarlo en los simuladores de iPhone 7-X, así como en un iPhone 7 de desarrollo, todos ejecutando el software de destino (12.0).
Respuestas:
MobileGestalt
El libMobileGestalt.dylib proporciona un repositorio central para todas las propiedades de los IOS. Puede ser análogo a Gestalt de OS X, que es parte de
CoreServices
. Gestalt de OS X está documentado, por ejemplo, Gestalt Manager y ha quedado obsoleto a partir de la versión 10.8. MobileGestalt está completamente indocumentado por Apple, ya que es una biblioteca privada.MobileGestalt permite probar las propiedades del sistema que pueden o no ser compatibles en diferentes simuladores.
Un buen número de aplicaciones y procesos del sistema en iOS se basan en MobileGestalt, que se encuentra en /usr/lib/libMobileGestalt.dylib. Es más una biblioteca básica, pero sus API expuestas siguen las convenciones del marco de Apple y usan el
MG
prefijo de API, por ejemploMGIsDeviceOneOfType
.Si busca MobileGestalt en el sistema de archivos de iOS, no lo encontrará; como todos los marcos y bibliotecas privados, se ha vinculado previamente a /System/Library/Caches/...etc. Si te gusta la piratería y las pruebas de lápiz, puedes usar herramientas para extraerlo.
MobileGestalt proporciona mucha información (alrededor de 200 consultas) sobre varios aspectos del sistema. A continuación se muestran algunos.
Hay cientos más
AirplaneMode
, por ejemploMobileEquipmentIdentifier
, etc.MobileGestalt mantiene una tabla de códigos de selección de OSType. por ejemplo c: 890 en el mensaje: libMobileGestalt MobileGestalt.c: 890: MGIsDeviceOneOfType no es compatible con esta plataforma. En este caso
MGIsDeviceOneOfType
es un método de la biblioteca MobileGestalt .En lugar de verificar la versión del simulador, hay un selector separado para consultar directamente las capacidades del simulador. Lo más probable es que los mensajes indiquen incompatibilidades entre las versiones del simulador y las versiones de Xcode y / o API no compatibles en el simulador.
fuente
Lo eliminé con éxito con la desactivación de la basura del proyecto.
Vaya a < Nombre de su proyecto > -> Esquema -> Editar esquema Luego vaya a Ejecutar (menú en el lado izquierdo) y agregue la siguiente variable de entorno:
Nombre : OS_ACTIVITY_MODE, Valor : deshabilitar
fuente
en mi caso: verifique el método del delegado de su aplicación - didFinishLaunching. Tenía privado y aparece el error. Después de eliminar "privado", todo funciona bien
fuente
Acabo de instalar Xcode 10 Beta y tuve el mismo problema. Ejecutó Xcode 9.4.1 y el problema desapareció.
fuente
Este error solo ocurrirá al probar / depurar en simuladores.
Cuanto más nuevo sea el simulador, mejor.
Caso: ejecuto el simulador de iPhone 8 y recibí este mensaje en el depurador.
Solución: Cambié a un simulador más nuevo sin mensaje de error en el depurador.
fuente
Me encontré con esto al abrir algún proyecto de GitHub en Xcode 10.0.
La solución pragmática fue: simplemente presione 'Continuar ejecución del programa' varias veces y probablemente deshabilite su punto de interrupción de excepción . Aparentemente, la excepción fue recuperable.
No es una solución real, pero fue lo suficientemente buena para mí en ese momento.
fuente
En mi caso, el objetivo de implementación de Target estaba en iOS 8. Cuando lo subí a iOS 10.3, funcionó bien, tanto en el simulador como en el dispositivo.
fuente
Estoy viendo este problema. Usando Xcode 10.1. Creó un proyecto nuevo, no hace nada más que mostrar una pantalla en blanco. Descubrí que aparecía en el simulador de dispositivos más antiguos. Por ejemplo, iPad Pro (12,9 pulgadas) y iPad Pro (12,9 pulgadas) (segunda generación) muestran el problema, pero el problema ha desaparecido para el iPad Pro (12,9 pulgadas) (tercera generación). No aparece para el simulador de iPhone XR.
Básicamente parece molesto.
fuente
Si tiene fuentes proporcionadas por la aplicación, debe agregarlas a Info.plist y verificar si el archivo tiene la Membresía de destino seleccionada
fuente
La forma habitual cuando ocurren errores extraños ayudó:
1) Proyecto limpio;
2) Apagar el simulador;
3) Vuelva a instalar las cápsulas.
Xcode 10.
fuente
Para mí, con el simulador en cuestión enfocado, seleccioné Hardware-> Borrar todo el contenido y la configuración.
Después de reiniciar el simulador, el inicio de mi aplicación funcionó nuevamente, como se esperaba.
fuente
Device
->Erase All Content and Settings...
Fui a XCode -> Preferencias -> Componentes Marqué todos los simuladores y la casilla de verificación para instalar actualizaciones automáticamente, y luego "verificar e instalar ahora" y me fui por unas horas mientras todos se actualizaban.
Ahora el problema se ha ido, de hecho, es como se mencionó. Nuevo XCode con viejos simuladores no actualizados.
fuente
Tuve el mismo problema, pero con MapKit, donde no aparecía MapView, solo la pantalla blanca y el mismo error, MGIsDeviceOneOfType no es compatible con esta plataforma.
Lo resolvió arreglando las advertencias de "Diseño ambiguo" vinculadas al objeto MapView. Ahora está funcionando perfectamente bien y los errores desaparecieron.
fuente
Lo que funcionó para mí fue cambiar dentro
general > Deployment Info > Main Interface
a CDVLaunchScreen y hacer lo mismo dentrogeneral > App Icons and Launch Images > Launch Screen File
de CDVLaunchScreen también.Vengo de Ionic, por lo que esto podría no ser un problema para aquellos que se desarrollan en Swift / Objective-C.
fuente
Recientemente actualicé a Xcode
10.2
y cuando intenté ejecutar un proyecto creado en una versión anterior, se produjo el mismo error.El problema era que el simulador se estaba ejecutando antes de actualizar Xcode.
La solución fue muy simple para mí, salir del Simulador y reiniciarlo para que pueda obtener los nuevos cambios. No creo que el modelo del simulador (iPhone SE o iPhone X) importe. Solo necesita reiniciar su simulador para que surta efecto con la nueva actualización.
Recomendaría salir tanto de Xcode como del simulador y reiniciar su Mac.
fuente
Recibí este error al llamar
.sync
a la cola principal que causó un interbloqueo (DispatchQueue.main.sync {}
). Quise llamar.async
.fuente
Recibí este error, al intentar leer un archivo json que está dentro de mi proyecto y devolvió nulo, debido a eso recibí este error.
Obtuve nulo debido a un error de ortografía en el nombre de la fuente, ese archivo json contenía los nombres de las fuentes, después de copiar y pegar el nombre de la fuente, obtuve datos y el error se solucionó.
Probé casi todas las soluciones dadas anteriormente, nada funcionó, así que depure con paciencia, sabrá cuál está causando este error y en algún momento malo xcode jugará en nuestra vida :)
fuente
Estaba enfrentando el mismo problema, pero lo eliminé con éxito con las siguientes cosas:
Espero que te ayude.
fuente