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)

  1. Если оно выполняется, закройте Xcode.

  2. Откройте терминал и перейдите в исходный каталог для iOS Кордова.

  3. Копия config.xml файла, описанного выше в каталог проекта.

  4. Откройте Xcode и использовать Finder для копирования config.xml файл в окно своей Структуры проекта .

  5. Выберите создать группы для любой дополнительной папки и нажмите кнопку Готово.

  6. Используйте Finder для копирования CordovaLib/CordovaLib.xcodeproj файл в Xcode в Диспетчере структуры проекта

  7. Выберите CordovaLib.xcodeproj в рамках проекта навигатор.

  8. Введите сочетание клавиш Option-Command-1 , чтобы показать Файл инспектор.

  9. Выберите относительный группу в Инспектора файлов в раскрывающемся меню для местоположения.

  10. Выберите значок проекта в Диспетчере структуры проекта, выберите Цель, а затем выберите вкладку Параметры построения .

  11. Добавить -force_load и -Obj-C для значения Другие флаги компоновщика .

  12. Нажмите на значок проекта в диспетчере структуры проекта, выберите Цель, а затем выберите вкладку Построение этапов .

  13. Расширять связь двоичные файлы с библиотеками.

  14. Выберите + кнопку и добавьте следующие рамки. При необходимости в Диспетчере структуры проекта, переместите их в группе рамки :

    AssetsLibrary.framework
    CoreLocation.framework
    CoreGraphics.framework
    MobileCoreServices.framework
    
  15. Разверните узел Целевого объекта зависимостей, приставки с этим ярлыком, если существует более одного окна.

  16. Выберите + кнопку и добавить CordovaLib создания продукта.

  17. Разверните Двоичные файлы связь с библиотеками, приставки с этим ярлыком, если существует более одного окна.

  18. Выберите + кнопку и добавитьlibCordova.a.

  19. Задать Xcode предпочтения → места → полученных данных → передовые... уникальным.

  20. Выберите значок проекта в диспетчере структуры проекта, выберите ваши цели, а затем выберите вкладку Параметры построения .

  21. Поиск путей поиска заголовка. Для этого параметра, добавьте эти три значения ниже, включая котировки:

    "$(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

  1. Добавьте следующий заголовок:

    #import <Cordova/CDVViewController.h>
    
  2. Создайте экземпляр нового CDVViewController и сохраните его где-нибудь, например, для свойства класса:

    CDVViewController* viewController = [CDVViewController new];
    
  3. При необходимости задайте wwwFolderName свойства, которое по умолчанию равно www :

    viewController.wwwFolderName = @"myfolder";
    
  4. При необходимости задайте начальную страницу config.xml файла <content> тег, либо локальный файл:

    <content src="index.html" />
    

    .. или удаленный веб-узел:

    <content src="http://apache.org" />
    
  5. При необходимости задайте useSplashScreen свойства, которое по умолчанию равно NO :

    viewController.useSplashScreen = YES;
    
  6. Задайте кадр представления. Всегда установите это как Последнее свойство:

    viewController.view.frame = CGRectMake(0, 0, 320, 480);
    
  7. Добавьте в представление Кливер:

    [myView addSubview:viewController.view];
    

Добавление HTML, CSS и JavaScript активы

  1. Создайте новый каталог в рамках проекта, www например.

  2. Поместите HTML, CSS и JavaScript активов в этот каталог.

  3. Чтобы скопировать каталог в окне Навигатора проекта Xcode используйте Finder.

  4. Выберите пункт создать папку ссылки для любых папок, добавлен.

  5. Установите соответствующие 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"