Spec-Zone.ru › Cordova 6

iOS WebViews

Это руководство показывает, как встроить компонент WebView с поддержкой Cordova в более крупное приложение iOS. Подробную информацию о том, как эти компоненты могут взаимодействовать друг с другом, см. в разделе Плагины приложений.

Поддержка WebViews для iOS началась с версии Cordova 1.4, используя компонент Cleaver, для которого шаблон Xcode служит эталонной реализацией. Cordova 2.0 и более поздние версии поддерживают только реализацию Cleaver на основе подпроектов.

Эти инструкции требуют не менее Cordova 4.x и Xcode 8.0, а также файла config.xml из недавно созданного проекта iOS. Вы можете использовать процедуру в Разделе командной строки для создания нового проекта, а затем получить файл config.xml из подкаталога названного приложения в platforms/ios.

Чтобы следовать этим инструкциям, убедитесь, что у вас есть последняя дистрибуция Cordova. Скачайте её с cordova.apache.org и распакуйте пакет iOS.

У вас есть два способа добавления Cordova в ваш проект. Первый — использование Carthage, а второй — добавление Cordova вручную. Обратите внимание, что поддержка Carthage доступна только в версии cordova-ios 4.4.0 или выше.

После использования любого из этих двух методов, продолжайте с разделом "Использование CDVViewController".

1. Добавление Cordova.framework в проект Xcode с помощью Carthage

  1. Установите Carthage

  2. В вашем файле Cartfile добавьте (замените <версияилитег> соответствующей версией):

    git "git://git.apache.org/cordova-ios.git" "<version_or_tag>" # Apache
    
  3. Запустите

    carthage update
    
  4. Добавьте Carthage/Build/iOS/Cordova.framework в свой проект Xcode.

2. Добавление Cleaver в проект Xcode (подпроект CordovaLib)

  1. Закройте Xcode, если оно запущено.

  2. Откройте терминал и перейдите в каталог исходных файлов Cordova 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 и -ObjC в значение Другие флаги компоновщика.

  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"
    "$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include"
    "$(BUILT_PRODUCTS_DIR)"
    

    Начиная с Cordova 2.1.0, CordovaLib был обновлен для использования Автоматического управления ссылками (ARC). Вам не нужно обновлять до ARC, чтобы использовать CordovaLib, но если вы хотите обновить свой проект для использования ARC, используйте мастер миграции 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. Добавьте Cleaver в представление:

    [myView addSubview:viewController.view];
    

Добавление HTML, CSS и JavaScript ресурсов

  1. Создайте новую директорию в проекте, www например.

  2. Разместите HTML, CSS и JavaScript ресурсы в эту директорию.

  3. С помощью Finder скопируйте директорию в окно Навигатор проекта Xcode.

  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"
    

© 2012, 2013, 2015 The Apache Software Foundation
Licensed under the Apache License 2.0.
https://cordova.apache.org/docs/en/6.x/guide/platforms/ios/webview.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API