WebViews в iOS
В этом руководстве показано, как внедрить компонент WebView Cordova поддержкой в рамках более крупных приложений iOS. Дополнительные сведения о том, как эти компоненты могут взаимодействовать друг с другом смотрите приложение плагины.
Поддержка WebViews для iOS началась с Cordova версии 1.4, с помощью компонента Cleaver, для которого шаблон Xcode выступает в качестве эталонной реализации. Кордова 2.0 и более поздних версий поддерживают только реализация на основе подпроекта Кливер.
Эти инструкции требуют по крайней мере Cordova 3.x и Xcode 6.0, совместно с файлом config.xml из только что созданного проекта iOS. Вы можете использовать процедуру в разделе "Интерфейс командной строки" можно использовать для создания нового проекта, а затем получить файл config.xml в подкаталоге именованного приложения в platforms/ios.
Следуя этим инструкциям, убедитесь, что у вас есть дистрибутив последней версии Cordova. Скачайте его с cordova.apache.org и распакуйте пакет для iOS.
Добавление Cleaver в Xcode проект (подпроект CordovaLib)
Если оно выполняется, закройте Xcode.
Откройте терминал и перейдите в исходный каталог для iOS Кордова.
Копия
config.xmlфайла, описанного выше в каталог проекта.Откройте Xcode и использовать Finder для копирования
config.xmlфайл в окно своей Структуры проекта .Выберите создать группы для любой дополнительной папки и нажмите кнопку Готово.
Используйте Finder для копирования
CordovaLib/CordovaLib.xcodeprojфайл в Xcode в Диспетчере структуры проектаВыберите
CordovaLib.xcodeprojв рамках проекта навигатор.Введите сочетание клавиш Option-Command-1 , чтобы показать Файл инспектор.
Выберите относительный группу в Инспектора файлов в раскрывающемся меню для местоположения.
Выберите значок проекта в Диспетчере структуры проекта, выберите Цель, а затем выберите вкладку Параметры построения .
Добавить
-force_loadи-Obj-Cдля значения Другие флаги компоновщика .Нажмите на значок проекта в диспетчере структуры проекта, выберите Цель, а затем выберите вкладку Построение этапов .
Расширять связь двоичные файлы с библиотеками.
Выберите + кнопку и добавьте следующие рамки. При необходимости в Диспетчере структуры проекта, переместите их в группе рамки :
AssetsLibrary.framework CoreLocation.framework CoreGraphics.framework MobileCoreServices.frameworkРазверните узел Целевого объекта зависимостей, приставки с этим ярлыком, если существует более одного окна.
Выберите + кнопку и добавить
CordovaLibсоздания продукта.Разверните Двоичные файлы связь с библиотеками, приставки с этим ярлыком, если существует более одного окна.
Выберите + кнопку и добавить
libCordova.a.Задать Xcode предпочтения → места → полученных данных → передовые... уникальным.
Выберите значок проекта в диспетчере структуры проекта, выберите ваши цели, а затем выберите вкладку Параметры построения .
Поиск путей поиска заголовка. Для этого параметра, добавьте эти три значения ниже, включая котировки:
"$(TARGET_BUILD_DIR)/usr/local/lib/include" "$(OBJROOT)/UninstalledProducts/include" "$(BUILT_PRODUCTS_DIR)"По состоянию на Cordova 2.1.0
CordovaLibбыл обновлен для использования Автоматического подсчета ссылок (ARC). Вам не нужно обновить до дуги для использованияCordovaLib, но если вы хотите обновить проект для использования дуги, следует использовать мастер миграции Xcode от Правка → переделать → преобразовать в Objective-C ARC... меню, снимите флажок libCordova.a, затем запустите мастер до завершения.
С помощью CDVViewController
Добавьте следующий заголовок:
#import <Cordova/CDVViewController.h>Создайте экземпляр нового
CDVViewControllerи сохраните его где-нибудь, например, для свойства класса:CDVViewController* viewController = [CDVViewController new];При необходимости задайте
wwwFolderNameсвойства, которое по умолчанию равноwww:viewController.wwwFolderName = @"myfolder";При необходимости задайте начальную страницу
config.xmlфайла<content>тег, либо локальный файл:<content src="index.html" />.. или удаленный веб-узел:
<content src="http://apache.org" />При необходимости задайте
useSplashScreenсвойства, которое по умолчанию равноNO:viewController.useSplashScreen = YES;Задайте кадр представления. Всегда установите это как Последнее свойство:
viewController.view.frame = CGRectMake(0, 0, 320, 480);Добавьте в представление Кливер:
[myView addSubview:viewController.view];
Добавление HTML, CSS и JavaScript активы
Создайте новый каталог в рамках проекта,
wwwнапример.Поместите HTML, CSS и JavaScript активов в этот каталог.
Чтобы скопировать каталог в окне Навигатора проекта Xcode используйте Finder.
Выберите пункт создать папку ссылки для любых папок, добавлен.
Установите соответствующие
wwwFolderNameиstartPageсвойства для каталога, вы первоначально создали, или использовать значения по умолчанию (указанный в предыдущем разделе) при создании экземпляраCDVViewController./* 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"