WebViews в iOS
В этом руководстве показано, как внедрить компонент WebView Cordova поддержкой в рамках более крупных приложений iOS. Дополнительные сведения о том, как эти компоненты могут взаимодействовать друг с другом смотрите приложение плагины.
Поддержка iOS WebViews начал с Кордова версии 1.4, с помощью Cleaver
компонент, для которого шаблон Xcode выступает в качестве эталонной реализации. Кордова 2.0 и более поздних версий поддерживают только реализация на основе подпроекта Кливер.
Эти инструкции требуют по крайней мере Cordova 3.x и Xcode 6.0, совместно с файлом config.xml
из только что созданного проекта iOS. Процедура в интерфейс командной строки можно использовать для создания нового проекта, а затем получить config.xml
файл в подкаталоге именованного приложения вplatforms/ios
.
Следовать этим инструкциям, убедитесь, что у вас есть дистрибутив последней Кордова. Скачать его с 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"