2010-08-07 28 views
8

He descargado la compilación de Webkit cada noche. Abrí JavaScriptCore y lo construí. Compilación hecha sin ningún error. Pero el resultado fue un Framework que contiene solo OS X binary. Traté de quitar la marca de 'construir arquitectura activa solamente' pero solo construí arquitecturas de escritorio. (Busqué en el binario con la herramienta lipo)¿Cómo compilar JavaScriptCore para dispositivos con iOS?

¿Hay alguna manera simple de hacer esto? Espero que la biblioteca estática pueda vincularse a mi proyecto de aplicación de iOS. Intento incorporar JSC como motor de scripts en el juego.

Respuesta

1

Bifurqué phoboslab's repo y lo actualicé a la última versión de WebKit (desde el viernes anterior). Es compatible con iOS 5 y 6 e incluye el puente Objective-C a Javascript para ser presentado en iOS 7 (sin marcos privados ni función utilizada).

puede encontrar el repositorio en GitHub en: https://github.com/darionco/JavaScriptCore-iOS

También he añadido un archivo ZIP en el repositorio que contiene la biblioteca (.a) y los archivos de cabecera necesarios para mayor comodidad.

¡Salud!

+1

Solo para la nota: JavaScriptCore es una parte del marco público de iOS7. Y creo que esto aún sería una buena opción para la compatibilidad. – Eonil

+1

También es de destacar: Apple no aceptará aplicaciones vinculantes para el nuevo marco JavaScriptCore que estaría disponible en iOS 5/6, por lo que este enfoque es obligatorio si tiene una aplicación iOS que debe ser compatible con versiones anteriores. Gracias, @Dario! –

+0

Hablé demasiado pronto: esto funciona bien, pero obtengo el clásico error de "Símbolos no definidos para la arquitectura de armv7" durante la compilación después de seguir las instrucciones en la página del proyecto GitHub. Alguna idea, amigos? –

2

Parece que hay un proyecto XCode para JavaScriptCore que forma parte de la base de código WebKit. Pude cambiar el objetivo SDK a iOS y la arquitectura de destino a arm6/arm7, y el marco dinámico construido bien. Necesitarás compilarlo en una biblioteca estática, por lo que tendrás que crear un nuevo objetivo de biblioteca estática para iOS y copiar todo en Destinos -> JavaScriptCore en tu nuevo objetivo de biblioteca estática. Puede ser un poco complicado, pero podría funcionar.

+1

Voto esto en lugar de elegir como la respuesta correcta porque decidí utilizar otro motor de secuencias de comandos por lo que es difícil hacer tiempo para probar esto en la actualidad. Espero que esto funcione, y gracias por la sugerencia :) – Eonil

+0

Ryan, ¿es posible agregar más detalles sobre tu proceso de compilación? Me gustaría probar eso también, pero no tengo idea de qué se debe cambiar en la configuración del proyecto. – phi

+0

¿Qué decidiste en @Eonil? –

Cuestiones relacionadas