watchos objective logo kit developer descargar apple ios objective-c watchkit apple-watch

ios - objective - Error de WatchKit: no se puede encontrar la clase de controlador de interfaz '''' para crear una instancia



watchos download (14)

Al hacer clic en mi guión gráfico> Controlador de interfaz Escena> Inspector de identidad (el ícono central, de los 5 íconos que aparecen en el menú a la derecha de Xcode)> ¡Establecer el módulo en "[YourProjectName] Extension" funcionó para mí!

Siempre que hago conexiones en mi subclase de WKIInterfaceController me sale un error de WatchKit error - unable to find interface controller class ''myClass'' to instantiate una WatchKit error - unable to find interface controller class ''myClass'' to instantiate y un indicador de actividad que se muestra en el simulador y la vista no se carga. Desconecta todas las conexiones y la vista se muestra correctamente, pero sigue recibiendo el error

Intentó

No se puede encontrar la clase de controlador de interfaz ''InterfaceController'' para crear una instancia

WatchKit: no se puede encontrar la clase de controlador de interfaz

WatchKit reloadRootControllersWithNames causando error, con pageController o después de push / pop

Dos enlaces sugieren un error. Si se trata de un error, esto seguramente no estaría presente en la versión de lanzamiento de XCode y todo el mundo experimentaría el mismo comportamiento de renderización de watcKit, pero ¿sería inútil?


Asegúrese de hacer que el nuevo miembro de la clase de las EXTENSIONES mientras crea la clase.


Basta con mirar el objetivo para la clase y la interfaz . Se debe establecer en Extensión, eso es todo.


Cuando cree el controlador de interfaz de vista, asegúrese de agregarlo a la extensión de la aplicación Watch. Este fue mi problema


Debe verificar que el controlador de vista está en su fuente de compilación aquí: Seleccione Proyecto> Seleccionar destino de extensión de Watchkit> Fases de compilación> Fuentes de compilación


Después de agregar un nuevo controlador de interfaz en WatchOS, el problema anterior se produjo debido a un error

" Nombre del módulo en clase personalizada ": -

Después de cambiar el módulo a la extensión anterior se resuelve el problema.


El problema aquí es que configuramos incorrectamente el módulo para los controladores de interfaz. Dado que esos controladores pertenecen al objetivo de la Extensión del reloj, podemos encontrar el módulo del producto como se muestra a continuación

Imagen para mostrar cómo encontrar el nombre del módulo del producto.

Una vez que tengamos el nombre del módulo, simplemente adelante y configúrelo para cada controlador de interfaz

Imagen para mostrar cómo configurar el nombre del producto.


En mi caso, WatchKitExtension nombre de Watch Kit Extension a WatchKitExtension , y se WatchKitExtension con éxito en el simulador, pero no se ejecutó después de la limpieza del proyecto completo.
Gracias a https://.com/a/29904047/104170 .
Para que funcione, solo necesitaba especificar el módulo correcto en mi archivo .storyboard


Estaba teniendo los mismos problemas después de la reciente versión 8.2. Tuve que ir a cada uno de mis controladores de interfaz y ajustar su módulo de clase personalizado a lo que se muestra como una opción o "ninguno".


Lo arreglé borrando el nombre del módulo en el guión gráfico para esa clase de interfaz específica. (Que es una clase objetiva-c).


Lo resolví configurando el Módulo en Watch_Extension


Para cualquier persona que tenga esto. La clase debe establecerse en la membresía de destino correcta, es decir, su yourApp WatchKit Extension lugar de la yourApp WatchKit App al crear su clase. También se puede editar en la pertenencia a Target en el constructor de interfaces.


Resolví este problema por:

1) eliminar el archivo InterfaceController que genera problemas y volver a crearlo en la carpeta de WatchKit Extension en el proyecto (no solo en un grupo en el navegador de proyectos). Por defecto, xcode te da la carpeta de la aplicación Watch, debes cambiarla.

2) configurando la clase en Interface Builder para que el módulo se configuró en ProjectName_WatchKit_Extension

Si el módulo no está configurado, xcode no podrá encontrar su clase


1. select your WKInterfaceController 2. select Inherit Module From Target