2010-08-07 8 views
8

J'ai téléchargé Webkit buildly nightly. J'ouvre JavaScriptCore et l'ai construit. Compilation effectuée sans aucune erreur. Mais la sortie était un Framework contenant uniquement des binaires OS X. J'ai essayé de décocher 'build active architecture only' mais seulement les architectures de bureau construites. (J'ai regardé dans le binaire avec l'outil de lipo)Comment construire JavaScriptCore pour appareil iOS?

Y at-il une manière simple de faire ceci? Je m'attends à la bibliothèque statique peut être liée à mon projet d'application iOS. J'essaie d'intégrer JSC en tant que moteur de script en jeu.

Répondre

1

J'ai forké phoboslab's repo et l'ai mis à jour vers la dernière version de WebKit (en date de vendredi dernier). Il est compatible avec iOS 5 et 6 et inclut le lien Objective-C vers Javascript pour figurer dans iOS 7 (pas de framework privé ou de fonction utilisée).

Vous pouvez trouver le repo sur GitHub à: https://github.com/darionco/JavaScriptCore-iOS

J'ai aussi ajouté un fichier ZIP à la prise en pension contenant la bibliothèque (.a) et les fichiers d'en-tête nécessaires pour plus de commodité.

À la votre!

+1

Juste pour note: JavaScriptCore est une partie du cadre public de iOS7. Et je pense que ce serait encore un bon choix pour la compatibilité. – Eonil

+1

A noter également: Apple n'acceptera pas les applications liées au nouveau framework JavascriptCore qui serait disponible sur iOS 5/6, donc cette approche est requise si vous avez une application iOS qui doit être rétrocompatible. Merci, @Dario! –

+0

Rated trop tôt - cela se construit bien, mais je reçois l'erreur classique "symboles non définis pour l'architecture armv7" lors de la construction après avoir suivi les instructions sur la page GitHub du projet. Des idées, les gars? –

2

Il semble qu'il existe un projet XCode pour JavaScriptCore qui fait partie de la base de code WebKit. J'ai été en mesure de changer le SDK cible en iOS et l'architecture cible en arm6/arm7, et le framework dynamique s'est bien construit. Vous aurez besoin de le compiler dans une bibliothèque statique, bien sûr, vous aurez donc besoin de créer une nouvelle cible de bibliothèque statique pour iOS et de tout copier sous Cibles-> JavaScriptCore dans votre nouvelle cible de bibliothèque statique. C'est peut-être un peu compliqué, mais ça pourrait marcher.

+1

Je vote en haut au lieu de choisir comme bonne réponse parce que j'ai décidé d'utiliser un autre moteur de script donc il est difficile de prendre le temps de le tester pour le moment. J'espère que cette façon de travailler, et merci pour la suggestion :) – Eonil

+0

Ryan, est-il possible d'ajouter plus de détails sur votre processus de construction? Je voudrais essayer aussi, mais je n'ai aucune idée de ce qui doit être changé dans les paramètres du projet. – phi

+0

Qu'avez-vous décidé sur @Eonil? –

Questions connexes