Spec-Zone.ru › Cordova 7

iOS WebView

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

Поддержка WebView для 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 добавьте (замените <versionилиtag> на соответствующую версию):

    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/7.x/guide/platforms/ios/webview.html

Spec-Zone.ru

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