iOS WebViews
Cette section montre comment intégrer un composant WebView Cordova-activée dans une application iOS plus grande. Pour plus d'informations sur la façon dont ces composants peuvent communiquer entre eux, voir Application Plugins.
Soutien à iOS WebViews commencé avec Cordova version 1.4, en utilisant un Cleaver
composant dont le modèle de Xcode est une implémentation de référence. Cordova 2.0 et versions ultérieures ne prennent en charge l'implémentation Cleaver sous-projet.
Ces instructions exigent au moins 2.3 Cordova et Xcode 4.5, avec un config.xml
fichier à partir d'un projet d'iOS nouvellement créé. Vous pouvez utiliser la procédure dans l'Interface de ligne de commande pour créer un nouveau projet, puis obtenir le config.xml
dans le sous-répertoire de l'application nommé au sein du fichier deplatforms/ios
.
Pour suivre ces instructions, vérifiez que vous avez la dernière distribution de Cordova. Téléchargez-le sur cordova.apache.org et décompressez le paquet de son iOS.
Ajout de Cleaver au projet Xcode (sous-projet CordovaLib)
Quittez Xcode s'exécute.
Ouvrez un terminal et accédez au répertoire source pour iOS Cordova.
Copie le
config.xml
fichier mentionné ci-dessus dans le répertoire du projet.Ouvrez Xcode et utilisez le Finder pour copier le
config.xml
fichier dans sa fenêtre de Navigateur du projet .Choisir de créer des groupes pour tous les dossiers ajoutés , puis appuyez sur Terminer.
Utilisez le Finder pour copier le
CordovaLib/CordovaLib.xcodeproj
fichier dans de Xcode Projet NavigatorSélectionnez
CordovaLib.xcodeproj
dans le navigateur de projet.Tapez la combinaison de touches Commande-Option-1 pour afficher Fichier inspecteur.
Choisissez Relative au groupe dans Fichier inspecteur pour le menu déroulant ci-bas pour emplacement.
Sélectionnez l' icône du projet dans le Navigateur du projet, sélectionnez la cible, puis sélectionnez l'onglet Paramètres de génération .
Ajouter
-force_load
et-Obj-C
pour la valeur d'Autres indicateurs de Linker .Cliquez sur l' icône du projet dans le projet de navigation, sélectionnez la cible, puis sélectionnez l'onglet Générer des Phases .
Développez les binaires de lien avec les bibliothèques.
Sélectionnez le + bouton et ajoutez le suivant les cadres. Éventuellement dans le Navigateur du projet, déplacez-les dans le groupe des cadres :
AddressBook.framework AddressBookUI.framework AudioToolbox.framework AVFoundation.framework CoreLocation.framework MediaPlayer.framework QuartzCore.framework SystemConfiguration.framework MobileCoreServices.framework CoreMedia.framework
Développez les Dépendances de la cible, la zone supérieure avec cette étiquette s'il y a plusieurs cases.
Sélectionnez le + bouton et ajoutez le
CordovaLib
construire le produit.Développez Les binaires de lien avec les bibliothèques, la top box avec cette étiquette s'il y a plusieurs cases.
Sélectionnez le + bouton et ajoutez
libCordova.a
.Définir la Xcode préférences → lieux → dérivée données → avancé... à Unique.
Sélectionnez l' icône du projet dans le projet de navigation, sélectionnez votre cible, puis sélectionnez l'onglet Paramètres de génération .
Recherche de chemins de recherche de Header. Pour ce paramètre, ajoutez ces trois valeurs inférieures, y compris les guillemets :
"$(TARGET_BUILD_DIR)/usr/local/lib/include" "$(OBJROOT)/UninstalledProducts/include" "$(BUILT_PRODUCTS_DIR)"
À partir de Cordova 2.1.0,
CordovaLib
a été mis à niveau pour utiliser le Comptage de référence automatique (ARC). Vous n'avez pas besoin de passer à l' ARC à utiliserCordovaLib
, mais si vous souhaitez mettre à niveau votre projet pour utiliser un ARC, vous devez utiliser l'Assistant de migration de Xcode de la édition → Refactoriser → convertir en Objective-C ARC... menu, désélectionnez libCordova.a, puis exécutez l'Assistant jusqu'à la fin.
À l'aide de CDVViewController
Ajoutez l'en-tête suivant :
#import <Cordova/CDVViewController.h>
Instancier un nouveau
CDVViewController
et le conserver quelque part, par exemple, à une propriété de classe :CDVViewController* viewController = [CDVViewController new];
Vous pouvez définir la
wwwFolderName
propriété, qui est par défaut àwww
:viewController.wwwFolderName = @"myfolder";
Vous pouvez définir la page de démarrage le
config.xml
du fichier<content>
tag, soit un fichier local :< src="index.html de contenu" / >
.. .ou un site distant :
<content src="http://apache.org" />
Vous pouvez définir la
useSplashScreen
propriété, qui est par défaut àNO
:viewController.useSplashScreen = YES;
Définir le cadre de l'avis. Toujours définir cela comme la dernière propriété :
viewController.view.frame = CGRectMake(0, 0, 320, 480);
Ajoutez Cleaver à l'affichage :
[myView addSubview:viewController.view];
Ajout de HTML, CSS et JavaScript actif
Créez un nouveau répertoire dans le cadre du projet,
www
par exemple.Placer les éléments HTML, CSS et JavaScript dans ce répertoire.
Utilisez le Finder pour copier le répertoire dans la fenêtre Projet Navigator de Xcode.
Sélectionnez créer dossier Références pour tous les dossiers ajoutés.
Définir le cas échéant
wwwFolderName
etstartPage
Propriétés du répertoire que vous avez initialement créé, ou utiliser les valeurs par défaut (spécifiées dans la section précédente) lors de l'instanciation duCDVViewController
./* if you created a folder called 'myfolder' and you want the file 'mypage.html' in it to be the startPage */ viewController.wwwFolderName = @"myfolder"; viewController.startPage = @"mypage.html"