J'ai trouvé la réponse après avoir cherché. Voici ce que j'ai fait:
Créez un nouveau projet dans XCode. Je pense que j'ai utilisé l'application basée sur la vue.
Faites glisser un objet WebView sur votre interface et redimensionnez-le.
À l'intérieur de votre WebViewController.m (ou fichier de nom similaire, selon le nom de votre vue), dans la méthode viewDidLoad:
NSString * filePath = [[NSBundle mainBundle] pathForResource: @ "index" ofType: @ "html"];
NSData * htmlData = [NSData dataWithContentsOfFile: filePath];
if (htmlData) {
NSBundle * bundle = [NSBundle mainBundle];
NSString * chemin = [bundle bundlePath];
NSString * fullPath = [NSBundle pathForResource: @ "index" ofType: @ "html" inDirectory: path];
[webView loadRequest: [NSURLRequest requestWithURL: [NSURL fileURLWithPath: fullPath]]];
}
Désormais, tous les fichiers que vous avez ajoutés en tant que ressources au projet peuvent être utilisés dans votre application Web. J'ai un fichier index.html comprenant des fichiers javascript et css et image sans aucun problème. La seule limitation que j'ai trouvée jusqu'à présent est que je ne peux pas créer de nouveaux dossiers afin que tous les fichiers encombrent le dossier des ressources.
Astuce: assurez-vous d'avoir ajouté le fichier en tant que ressource dans XCode ou le fichier ne sera pas disponible. J'ai ajouté un fichier vide dans XCode, puis j'ai fait glisser mon fichier sur le dessus dans le Finder. Cela a fonctionné pour moi.
Remarque: je me rends compte qu'Obj-C ne doit pas être si difficile à apprendre. Mais comme j'ai déjà cette application dans JS et que je sais qu'elle fonctionne dans Safari, c'est un cycle de développement beaucoup plus rapide pour moi. Un jour, je suis sûr que je vais devoir m'effondrer et apprendre l'Obj-C.
Quelques autres ressources que j'ai trouvées utiles:
Appeler Obj-C depuis javascript: appeler object-c depuis javascript
Appeler javascript depuis Obj-C: développement d'applications iPhone pour les pirates Web
Lecture de fichiers à partir du bundle d'applications: uiwebview
Consultez PhoneGap sur http://www.phonegap.com, ils prétendent qu'il vous permet d'intégrer JavaScript, HTML et CSS dans une application iPhone native.
la source
Pour ceux qui font cela sur iPhone 2.1 (peut-être 2.0), vous n'avez PAS besoin de créer de services spéciaux pour le stockage de données local. MobileSafari semble prendre en charge l'API de base de données SQL HTML5 / WHATWG. Il s'agit de la même API prise en charge par les versions récentes de Safari et Firefox.
Si vous utilisez une boîte à outils comme Dojo ou ExtJS qui offre une abstraction de stockage, votre code devrait fonctionner sur à peu près tous les navigateurs modernes, y compris MobileSafari.
Pour tester, ouvrez http://robertsanders.name/dev/stackoverflow/html5.html sur votre iPhone.
Si vous ouvrez cette page puis regardez sur le système de fichiers d'un iPhone jailbreaké, vous devriez voir une base de données quelque part dans / private / var / mobile / Library / WebKit / Databases /. Il y a même un répertoire de bases de données ouvertes sur le Web.
la source
Vous pouvez créer une application sans connaître d'obj-C. Le framework QuickConnectiPhone vous permet de le faire. Consultez http://tetontech.wordpress.com pour savoir comment l'utiliser ainsi que d'autres façons de faire ce que vous avez demandé.
la source
Vous devriez avoir le wrapper natif écrit en Objective C. Ce wrapper peut contenir très peu de lignes de code (comme 10) nécessaires pour créer une WebView et la naviguer vers l'adresse donnée sur Internet (où réside votre application). Mais dans ce cas, votre application doit être une application Web complète (je veux dire, utilisez non seulement le JavaScript, mais aussi du HTML pour le balisage).
la source
J'ai rencontré ce même problème. J'ai déjà un jeu entièrement écrit en Javascript. J'adorerais créer une version compatible iPhone, mais Obj-C est exagéré. Ce que j'ai fini par faire, c'est d'utiliser WebView pour pointer vers une URL spéciale de l'application iPhone. Après y avoir réfléchi, je suppose que je pourrais simplement déplacer ces fichiers vers le répertoire de l'application et les exécuter localement.
la source
Il n'y a pas moyen de faire cela avec les API Apple actuelles. Votre pari le plus proche est d'écrire une simple application iPhone native qui intègre le navigateur Webkit. Cela vous permettra de parcourir votre application xhtml / js localement.
Si vous souhaitez stocker des données, vous devrez aller plus loin et inclure un serveur http léger qui serveur votre application et fournit des appels pour stocker et récupérer des données. Probablement pas une solution idéale pour vous, mais peut-être moins de travail qu'une application Obj-C complète.
En remarque, Obj-C est assez facile à apprendre. Il y a des tonnes d'exemples dans le SDK. La communauté est forte et répondra aux questions bien posées sans hésitation.
la source
J'utilise phonegap depuis un moment et il semble avoir les meilleurs résultats pour moi. Je publierai mon expérience dans une semaine environ avec un lien vers mon application également.
la source
Titanium Mobile est également une option - il vous permet d'écrire du JavaScript qui sera traduit en Objective-C.
la source
Au moins 2 autres personnes ont mentionné phonegap, mais j'ai pensé publier ceci aussi et mentionner qu'Apple a approuvé le framework phonegap. Donc, maintenant, votre application ne sera pas rejetée par Apple simplement parce que vous utilisez phonegap.
Article de blog sur phonegap et Apple - http://blogs.nitobi.com/jesse/2009/11/20/phonegapp-store-approval/
Téléphone Gap Home
la source