Ejecutando Haxe desde la aplicación iOS-error hxRunLibrary()
nme hxcpp (2)
Bueno, he buscado información en Google sobre Haxe. lo que entendí es que The Haxe le presentará una solicitud completa, lo que significa que incluye la función principal. Es por eso que el error ha sucedido.
Y puede simular el problema invocando la función UIApplicationMain dos veces.
En mi opinión, debe eliminar el código sobre UIApplicationMain del archivo de código fuente producido por Haxe.
Para un cliente, he desarrollado una aplicación iOS + Android
usando Cordova (PhoneGap)
para la interfaz de usuario. Ahora, como una actualización de esta aplicación, estoy intentando agregar un juego que fue escrito en Haxe. Originalmente el juego fue escrito para el Flash target
, pero lo actualicé para trabajar con los objetivos de C++
para Android and iOS
.
En Android fue fácil integrar esto con la aplicación Cordova
usando actividades (la parte de Haxe se ejecuta como una actividad separada), pero estoy teniendo algunos problemas para lograr un resultado similar en iOS.
Hasta ahora he intentado incluir todo el código generado hxcpp
en mi proyecto (de la misma manera que NME configura el proyecto XCode cuando haces "nme build ios"), y estoy llamando a hxRunLibrary()
desde mi código cuando quiero el juego para correr
El problema es que hxRunLibrary()
parece querer crear su propia instancia de UIApplication
, que falla con el siguiente error, ya que mi aplicación principal ya está ejecutando una instancia:
*** Assertion failure in void UIApplicationInstantiateSingleton(Class)(), /SourceCache/UIKit_Sim/UIKit-2380.17/UIApplication.m:2037
*** Terminating app due to uncaught exception ''NSInternalInconsistencyException'', reason: ''There can only be one UIApplication instance.''
Creo que podría tener algo que ver con SDL, que Haxe usa para gráficos. Por lo que entiendo, SDL necesita ejecutarse desde la función principal de la aplicación, lo que creó un conflicto con Cocoa que también debe ejecutarse desde la función principal.
¿Hay alguna manera fácil de solucionar esto? He buscado en las fuentes de hxcpp, pero no he podido encontrar el código relacionado con la aplicación UIApplication
o ningún código de entrada para SDL.
Quizás alguien podría señalarme en la dirección correcta. ¡Gracias!
cordova tiene la capacidad de integrarse como parte de una aplicación más grande
se encontró con el mismo problema.
http://devgirl.org/2012/11/15/embed-cordovaphonegap-in-your-native-ios-app/ este artículo ayudará
en realidad, no crea un nuevo proyecto sino que lo inserta en una vista web a través de la vista web de ios y cordova actúa como una subvista.