Модернизация iOS
Это руководство показывает, как изменить проекты iOS для обновления с более старых версий Cordova. Большинство этих инструкций применимо к проектам, созданным с более ранним набором инструментов командной строки, предшествующих утилите командной строки cordova. Для получения информации об обновлении версии командной строки обратитесь к Интерфейсу командной строки.
ПРИМЕЧАНИЕ: Требуется Xcode 6. В настоящее время для отправки в Apple App Store следует использовать последнюю выпущенную версию iOS SDK, которая включает iOS 8 и поставляется только с Xcode 6.
Обновление проектов 3.6.0 до 4.0.0
Для проектов без использования CLI выполните:
bin/update path/to/project
Для проектов с использованием CLI:
Обновите версию командной строки
cordova. См. Интерфейс командной строки.Выполните
cordova platform update iosв ваших существующих проектах.
Обновление проектов 3.3.0 до 3.4.0
Для проектов без использования CLI выполните:
bin/update path/to/project
Для проектов с использованием CLI:
Обновите версию командной строки
cordova. См. Интерфейс командной строки.Выполните
cordova platform update ios
Обновление проектов 3.2.0 до 3.3.0
Для проектов без использования CLI выполните:
bin/update path/to/project
Для проектов с использованием CLI:
Обновите версию командной строки
cordova. См. Интерфейс командной строки.Выполните
cordova platform update ios
Обновление проектов 3.1.0 до 3.2.0
Для проектов без использования CLI выполните:
bin/update path/to/project
Для проектов с использованием CLI:
Обновите версию командной строки
cordova. См. Интерфейс командной строки.Выполните
cordova platform update ios
Обновление проектов 3.0.0 до 3.1.0
Для проектов без использования CLI выполните:
bin/update path/to/project
Для проектов с использованием CLI:
Обновите версию командной строки
cordova. См. Интерфейс командной строки.Выполните
cordova platform update ios
Проблемы с iOS 7:
Удалите
width=device-width, height=device-heightиз файлаindex.htmlв тегеviewportmeta. (См. соответствующий баг.)Обновите свои плагины ядра медиа, захвата медиа и заставки для поддержки iOS 7.
Проблемы с Xcode 5:
Обновите настройки проекта, если Xcode 5 предложит это сделать (в навигаторе проблем).
Обновите настройку Компилятор для C/C++/Objective-C на вкладке Настройки сборки, в разделе Параметры сборки. Выберите По умолчанию компилятор (Apple LLVM 5.0).
Обновление до CLI (3.0.0) с 2.9.0
Создайте новый проект Apache Cordova 3.0.0, используя CLI cordova, как описано в Интерфейсе командной строки.
Добавьте свои платформы в проект cordova, например:
cordova platform add ios.Скопируйте содержимое каталога проекта
wwwв каталогwwwв корне проекта cordova, который вы только что создали.Скопируйте или перезапишите любые нативные ресурсы из вашего исходного проекта (
Resources, и т.д.), убедившись, что вы добавили все новые файлы в проект.xcodeproj. iOS-проект компилируется внутри каталогаplatforms\ios.Скопируйте
config.xmlв каталогwww, и удалите все определения плагинов. Вместо изменения каталога платформы, изменяйте настройки здесь.Используйте инструмент командной строки cordova CLI для установки необходимых плагинов. Обратите внимание, что CLI обрабатывает все основные API как плагины, поэтому их может потребоваться добавить. Только плагины 3.0.0 совместимы с CLI.
Скомпилируйте и протестируйте.
Обновление проектов 2.9.0 до 3.0.0
Загрузите и распакуйте исходный код Cordova 3.0.0 в постоянное расположение каталога на жестком диске, например в
~/Documents/Cordova-3.0.0.Закройте Xcode, если оно запущено.
Используя Terminal.app, перейдите в каталог, куда вы поместили загруженный исходный код.
Создайте новый проект, как описано в Руководстве по инструменту командной строки iOS. Вам понадобятся ресурсы из этого нового проекта.
Скопируйте файл
www/cordova.js(обратите внимание, что он больше не имеет суффикса версии, версия указана в самом файле в заголовке) из нового проекта в каталогwww, и удалите файлwww/cordova.js.Обновите ссылку на скрипт Cordova в файле
www/index.html(и в любых других файлах, содержащих эту ссылку) для указания на новый файлcordova.js.Удалите каталог
CordovaLib, и скопируйте каталогCordovaLibиз нового проекта в корневой каталог вашего проекта.
ПРИМЕЧАНИЕ: Начиная с Cordova 3.0.0, плагины не устанавливаются предварительно, и вам необходимо использовать утилиту командной строки plugman для их установки самостоятельно. См. Использование Plugman для управления плагинами.
Обновление проектов 2.8.0 до 2.9.0
Загрузите и распакуйте исходный код Cordova 2.9.0 в постоянное расположение каталога на жестком диске, например в
~/Documents/Cordova-2.9.0.Закройте Xcode, если оно запущено.
Используя Terminal.app, перейдите в каталог, куда вы поместили загруженный исходный код.
Создайте новый проект, как описано в Руководстве по инструменту командной строки iOS. Вам понадобятся ресурсы из этого нового проекта.
Скопируйте файл
www/cordova.js(обратите внимание, что он больше не имеет суффикса версии, версия указана в самом файле в заголовке) из нового проекта в каталогwww, и удалите файлwww/cordova.js.Обновите ссылку на скрипт Cordova в файле
www/index.html(и в любых других файлах, содержащих эту ссылку) для указания на новый файлcordova.js.Удалите каталог
CordovaLib, и скопируйте каталогCordovaLibиз нового проекта в корневой каталог вашего проекта.
Обновление проектов 2.7.0 до 2.8.0
Загрузите и распакуйте исходный код Cordova 2.8.0 в постоянное расположение каталога на жестком диске, например в
~/Documents/Cordova-2.8.0.Закройте Xcode, если оно запущено.
Используя Terminal.app, перейдите в каталог, куда вы поместили загруженный исходный код.
Создайте новый проект, как описано в Руководстве по инструменту командной строки iOS. Вам понадобятся ресурсы из этого нового проекта.
Скопируйте файл
www/cordova.js(обратите внимание, что он больше не имеет суффикса версии, версия указана в самом файле в заголовке) из нового проекта в каталогwww, и удалите файлwww/cordova-2.7.0.js.Обновите ссылку на скрипт Cordova в файле
www/index.html(и в любых других файлах, содержащих эту ссылку) для указания на новый файлcordova.js.-
Обновите теги
<plugin>в файлеconfig.xmlна теги<feature>. Обратите внимание, что существующие теги<plugin>по-прежнему работают, но устарели. Вы можете скопировать эту информацию из файлаconfig.xmlдля нового проекта. Например:<plugins> <plugin name="LocalStorage" value="CDVLocalStorage" /> <!-- other plugins --> </plugins> <!-- change to: (note that a <feature> tag is on the same level as <plugins> --> <feature name="LocalStorage"> <param name="ios-package" value="CDVLocalStorage" /> </feature> <!-- other <feature> tags --> Удалите каталог
CordovaLib, и скопируйте каталогCordovaLibиз нового проекта в корневой каталог вашего проекта.-
Добавьте эти два фреймворка в свой проект:
OpenAL ImageIO
Обновите настройки сборки вашего проекта. В разделе Связывание → Другие флаги компоновщика отредактируйте "-Obj-C" на "-ObjC".
Обновите настройки сборки вашего проекта. В разделе Связывание → Другие флаги компоновщика измените "-all_load" на
-force\_load ${BUILT\_PRODUCTS\_DIR}/libCordova.a. Вам это нужно будет сделать только в случае проблемы, описанной в данном вопросе.
Обновление проектов 2.6.0 до 2.7.0
Загрузите и распакуйте исходный код Cordova 2.7.0 в постоянное расположение каталога на жестком диске, например в
~/Documents/Cordova-2.7.0.Закройте Xcode, если оно запущено.
Используя Terminal.app, перейдите в каталог, куда вы поместили загруженный исходный код.
Создайте новый проект, как описано в Руководстве по инструменту командной строки iOS. Вам понадобятся ресурсы из этого нового проекта.
Скопируйте файл
www/cordova-2.7.0.jsиз нового проекта в каталогwww, и удалите файлwww/cordova-2.6.0.js.Обновите ссылку на скрипт Cordova в файле
www/index.html(и в любых других файлах, содержащих эту ссылку) для указания на новый файлcordova-2.7.0.js.Обновите (или замените, если вы не изменяли файл) файл
AppDelegate.mв соответствии с файлом из нового проекта (см. эту разницу).В файле
config.xmlудалите эту строку.Удалите каталог
CordovaLib, и скопируйте каталогCordovaLibиз нового проекта в корневой каталог вашего проекта.
Обновление проектов 2.5.0 до 2.6.0
Загрузите и разархивируйте исходный код Cordova 2.6.0 в постоянную директорию на вашем жестком диске, например, в
~/Documents/Cordova-2.6.0.Закройте Xcode, если оно запущено.
Используя Terminal.app, перейдите в директорию, куда вы поместили загруженный исходный код.
Создайте новый проект, как описано в Руководстве по инструментарию iOS Shell. Вам понадобятся ресурсы из этого нового проекта.
Скопируйте файл
www/cordova-2.6.0.jsпроекта в директориюwww, и удалите файлwww/cordova-2.5.0.js.Обновите ссылку на скрипт Cordova в файле
www/index.html(а также в любых других файлах, ссылающихся на скрипт), указав новый файлcordova-2.6.0.js.Обновите (или замените, если вы не изменяли файл) файл
AppDelegate.mв соответствии с файлом из нового проекта (см. данную разницу).В файле
config.xml, добавьте эту новую строку.В файле
config.xml, добавьте эту новую строку.В файле
config.xml, UIWebViewBounce был изменён на DisallowOverscroll, и значения по умолчанию отличаются.В файле
config.xml, предпочтениеEnableLocationустарело.Удалите директорию
CordovaLib, и скопируйте директориюCordovaLibиз нового проекта в корневую директорию вашего проекта.
Обновление проектов 2.4.0 до 2.5.0
Загрузите и разархивируйте исходный код Cordova 2.5.0 в постоянную директорию на вашем жестком диске, например, в
~/Documents/Cordova-2.5.0.Закройте Xcode, если оно запущено.
Используя Terminal.app, перейдите в директорию, куда вы поместили загруженный исходный код.
Создайте новый проект, как описано в Руководстве по инструментарию iOS Shell. Вам понадобятся ресурсы из этого нового проекта.
Скопируйте файл
www/cordova-2.5.0.jsиз нового проекта в директориюwwwи удалите файлwww/cordova-2.4.0.js.Обновите ссылку на скрипт Cordova в файле
www/index.html(и во всех других файлах, содержащих ссылку на скрипт) на новый файлcordova-2.5.0.js.Обновите (или замените, если вы не изменяли файл) файл
AppDelegate.mв соответствии с файлом из нового проекта (см. данную разницу).В файле
config.xmlдобавьте эти новые строки.В файле
config.xml, измените корневой элемент, поменяв его с cordova на widget.В файле
config.xml, удалите предпочтение OpenAllWhitelistURLsInWebView.Удалите директорию
cordova, и скопируйте директориюcordovaиз нового проекта в корневую директорию вашего проекта. В 2.5.0, здесь обновлённые скрипты.Удалите директорию
CordovaLib, и скопируйте директориюCordovaLibиз нового проекта в корневую директорию вашего проекта.
Обновление проектов 2.3.0 до 2.4.0
Загрузите и разархивируйте исходный код Cordova 2.4.0 в постоянную директорию на вашем жестком диске, например, в
~/Documents/Cordova-2.4.0.Закройте Xcode, если оно запущено.
Используя Terminal.app, перейдите в директорию, куда вы поместили загруженный исходный код.
Создайте новый проект, как описано в Руководстве по инструментарию iOS Shell. Вам понадобятся ресурсы из этого нового проекта.
Скопируйте файл
www/cordova-2.4.0.jsиз нового проекта в директориюwww, и удалите файлwww/cordova-2.3.0.js.Обновите ссылку на скрипт Cordova в файле
www/index.html(и во всех других файлах, содержащих ссылку на скрипт) на новый файлcordova-2.4.0.js.Обновите (или замените, если вы не изменяли файлы) файл
MainViewController.mв соответствии с файлом из нового проекта (см. данную разницу).Обновите (или замените, если вы не изменяли файл) файл
AppDelegate.mв соответствии с файлом из нового проекта (см. данную разницу).В файле
config.xmlдобавьте эту новую строку.Удалите директорию
cordova, и скопируйте директориюcordovaиз нового проекта в корневую директорию вашего проекта. В 2.4.0, здесь исправленные скрипты.Удалите директорию
CordovaLib, и скопируйте директориюCordovaLibиз нового проекта в корневую директорию вашего проекта.Добавьте AssetsLibrary.framework как ресурс в свой проект. (См. документацию Apple для получения инструкций).
Обновление проектов 2.2.0 до 2.3.0
Загрузите и разархивируйте исходный код Cordova 2.3.0 в постоянную директорию на вашем жестком диске, например, в
~/Documents/Cordova-2.3.0.Закройте Xcode, если оно запущено.
Используя Terminal.app, перейдите в директорию, куда вы поместили загруженный исходный код.
Создайте новый проект, как описано в Руководстве по инструментарию iOS Shell. Вам понадобятся ресурсы из этого нового проекта.
Скопируйте файл
www/cordova-2.3.0.jsиз нового проекта в директориюwww, и удалите файлwww/cordova-2.2.0.js.Обновите ссылку на скрипт Cordova в файле
www/index.html(и во всех других файлах, содержащих ссылку на скрипт) на новый файлcordova-2.3.0.js.Обновите (или замените, если вы не изменяли файл)
MainViewController.mв соответствии с файлом из нового проекта.Удалите директорию
cordova, и скопируйте директориюcordovaиз нового проекта в корневую директорию вашего проекта. В 2.3.0, здесь новые скрипты.Удалите директорию
CordovaLib, и скопируйте директориюCordovaLibиз нового проекта в корневую директорию вашего проекта.Преобразуйте файл
Cordova.plistвconfig.xml, запустив скриптbin/cordova\_plist\_to\_config\_xmlна вашем файле проекта.-
Добавьте плагин InAppBrowser в
config.xml, добавив этот тег под<cordova><plugins>:<plugin name="InAppBrowser" value="CDVInAppBrowser" />
Обратите внимание, что плагины Objective-C не добавляются в белый список больше. Для добавления подключений в белый список приложения вам нужно установить заголовок
User-Agentподключения к тому же пользовательскому агенту, что и основное Cordova WebView. Вы можете получить его, обратившись к свойствуuserAgentосновного контроллера представления. У основного контроллера представления (CDVViewController) также есть методURLisAllowed, позволяющий проверить, проходит ли URL проверку в белом списке.-
Изменения в API устройства:
- Для iOS, device.platform ранее возвращал
iPhone,iPadилиiPod Touch; теперь он возвращает (правильно)iOS. - Для iOS, device.name (теперь устарел для всех платформ) ранее возвращал имя устройства пользователя (например, 'iPhone 5 Шазрона'); теперь он возвращает то, что раньше возвращало device.platform:
iPhone,iPadилиiPod Touch. - Для всех платформ есть новое свойство device.model; оно возвращает конкретную модель устройства, например,
iPad2,5(для других платформ оно возвращает то, что раньше возвращало device.name).
- Для iOS, device.platform ранее возвращал
Обновление проектов 2.1.0 до 2.2.0
Скачайте и распакуйте исходный код Cordova 2.2.0 в постоянную папку на вашем жестком диске, например, в
~/Documents/Cordova-2.2.0.Закройте Xcode, если оно запущено.
Используя Terminal.app, перейдите в папку, куда вы поместили загруженный исходный код.
Создайте новый проект, как описано в Руководстве по инструменту командной строки iOS. Вам понадобятся ресурсы из этого нового проекта.
Скопируйте файл
www/cordova-2.2.0.jsиз нового проекта в папкуwww, и удалите файлwww/cordova-2.1.0.js.Обновите ссылку на скрипт Cordova в файле
www/index.html(и всех других файлах, содержащих ссылку на скрипт), чтобы она указывала на новый файлcordova-2.2.0.js.-
Обновите (или замените, если вы не изменяли файл) файл
MainViewController.m, используя файл из нового проекта:- Обновлено → viewWillAppear
Скопируйте папку
cordovaиз нового проекта в корневую папку вашего проекта. В версии 2.2.0 здесь есть обновленный скрипт «emulate».-
Далее, обновите ссылку на подпроект
CordovaLib. Начиная с Cordova 2.1.0, мы больше не используем переменную CORDOVALIB Xcode для указания местоположенияCordovaLib, теперь используется абсолютный путь к файлу.- Запустите Terminal.app
- Перейдите в папку, где вы установили Cordova (см. шаг 1), в подпапку
bin -
Запустите скрипт ниже, где первым параметром является путь к файлу
.xcodeprojвашего проекта:update_cordova_subproject path/to/your/project/xcodeproj
ПРИМЕЧАНИЕ: В версии 2.2.0 скрипт bin/create копируется в подпроект CordovaLib, в ваш проект. Чтобы настроить всё аналогичным образом, просто скопируйте необходимый CordovaLib в папку проекта и обновите местоположение подпроекта CordovaLib (относительно проекта) в инспекторе файлов Xcode.
Обновление проектов 2.0.0 до 2.1.0
В Cordova 2.1.0, CordovaLib был обновлен для использования автоматического управления ссылками (ARC). Вам не нужно обновлять до ARC, чтобы использовать CordovaLib, но если вы хотите обновить свой проект для использования ARC, используйте мастер миграции Xcode из меню: Редактировать → Переработка → Преобразовать в Objective-C ARC…, снимите выделение с libCordova.a, затем выполните мастер до завершения.
Скачайте и распакуйте исходный код Cordova 2.1.0 в постоянную папку на вашем жестком диске, например, в
~/Documents/Cordova-2.1.0.Закройте Xcode, если оно запущено.
Используя Terminal.app, перейдите в папку, куда вы поместили загруженный исходный код.
Создайте новый проект, как описано в Руководстве по инструменту командной строки iOS. Вам понадобятся ресурсы из этого нового проекта.
Скопируйте файл
www/cordova-2.1.0.jsиз нового проекта в папкуwww, и удалите файлwww/cordova-2.0.0.js.Обновите ссылку на скрипт Cordova в файле
www/index.html(и всех других файлах, содержащих ссылку на скрипт), чтобы она указывала на новый файлcordova-2.1.0.js.-
Обновите (или замените, если вы не изменяли файл) файл
AppDelegate.m, используя файл из нового проекта:- Изменено → application:didFinishLaunchingWithOptions:
- Добавлено → application:supportedInterfaceOrientationsForWindow:
-
Обновите (или замените, если вы не изменяли файл) файл
MainViewController.m, используя файл из нового проекта:- Добавлено → viewWillAppear
Скопируйте папку
cordovaиз нового проекта в корневую папку вашего проекта. В версии 2.1.0 здесь есть обновленные скрипты, поддерживающие пути с пробелами.Удалите ссылку на файл
VERSIONиз вашего проекта (не тот, что вCordovaLib).-
Далее, обновите ссылку на подпроект
CordovaLib. Начиная с Cordova 2.1.0, мы больше не используем переменную CORDOVALIB Xcode для указания местоположенияCordovaLib, теперь используется абсолютный путь к файлу.- Запустите Terminal.app
- Перейдите в папку, где вы установили Cordova (см. шаг 1), в подпапку
bin -
Запустите скрипт ниже, где первым параметром является путь к файлу
.xcodeprojвашего проекта:update_cordova_subproject path/to/your/project/xcodeproj
Обновление проектов 1.9.0 до 2.0.0
Установите Cordova 2.0.0.
Создайте новый проект, как описано в Руководстве по инструменту командной строки iOS. Вам понадобятся ресурсы из этого нового проекта.
Скопируйте файл
www/cordova-2.0.0.jsиз нового проекта в папкуwww, и удалите файлwww/cordova-1.9.0.js.Обновите ссылку на скрипт Cordova в файле
www/index.html(и всех других файлах, содержащих ссылку на скрипт), чтобы она указывала на новый файлcordova-2.0.0.js.Скопируйте папку
cordovaиз нового проекта в корневую папку вашего проекта (если вам нужны инструменты командной строки проекта).Добавьте новую запись в
PluginsфайлаCordova.plist, в группе Файлы поддержки. Ключ —Device, а значение —CDVDevice.Удалите
Cordova.framework.Удалите
verify.shиз группы Файлы поддержки.Выберите значок проекта в навигаторе проекта, выберите Цель вашего проекта, затем вкладку Настройки сборки.
Поиск Макрос-препроцессора, затем удалите все значения CORDOVA_FRAMEWORK=1.
Найдите папку
CordovaLibкоторая установлена на вашем жестком диске, в подпапкеDocumentsвашей домашней папки.Найдите файл
CordovaLib.xcodeprojв папкеCordovaLib, перетащите его в свой проект. Он должен отобразиться как подпроект.Соберите свой проект, вы должны получить некоторые ошибки, связанные с директивами
#import.-
Для ошибок
#import, замените импорты на основе кавычек в этом формате:#import "CDV.h"
на этот формат с использованием скобок:
#import <Cordova/CDV.h>
и удалите любые обертки
#ifdefвокруг импортов Cordova. Они больше не нужны (импорты теперь объединены). Соберите свой проект снова, и у него не должно быть ошибок
#import.Выберите значок проекта в навигаторе проекта, выберите Цель вашего проекта, затем вкладку Фазы сборки.
Разверните фазу Зависимости целей, затем выберите кнопку +.
Выберите цель
CordovaLib, затем нажмите кнопку Добавить.Разверните первую фазу Связать библиотеку с двоичными файлами (она уже должна содержать множество фреймворков), затем выберите кнопку +.
Выберите статическую библиотеку
libCordova.a, затем нажмите кнопку Добавить.Удалите фазу Скрипт запуска.
Выберите значок проекта в навигаторе проекта, выберите Цель вашего проекта, затем вкладку Настройки сборки.
Поиск Другие флаги компоновщика, и добавьте значения -force_load и -Obj-C.
Разверните подпроект
CordovaLib.Найдите файл
VERSION, перетащите его в свой основной проект (мы хотим создать ссылку на него, а не копию).Выберите опцию Создавать группы для добавленных папок, затем нажмите кнопку Готово.
Выберите файл
VERSION, который вы только что перетащили на предыдущем шаге.Нажмите сочетание клавиш Option-Command-1, чтобы показать Инспектор файла (или выберите пункт меню Вид → Инструменты → Показать инспектор файла).
Выберите Относительно CORDOVALIB в раскрывающемся списке Расположение в Инспекторе файла.
Установите в настройках Xcode Настройки Xcode → Местоположения → Данные вывода → Дополнительно… на значение Уникальные, чтобы объединённые заголовки можно было найти.
Выберите значок проекта в навигаторе проекта, выберите Цель, затем вкладку Настройки сборки.
-
Поиск Пути поиска заголовков. Для этой настройки добавьте три значения, включая кавычки:
"$(TARGET_BUILD_DIR)/usr/local/lib/include" "$(OBJROOT)/UninstalledProducts/include" "$(BUILT_PRODUCTS_DIR)"
-
Поиск Другие флаги компоновщика. Для этой настройки добавьте это значение:
-weak_framework CoreFoundation
Соберите свой проект, он должен быть собран и скомпонован без проблем.
Выберите свой проект в раскрывающемся списке Схема, а затем выберите Имитатор iPhone 5.1.
Нажмите кнопку Запуск.
ПРИМЕЧАНИЕ: Если ваш проект не работает должным образом в симуляторе, обратите внимание на любые ошибки в журнале консоли в Xcode для получения дополнительных сведений.
Обновление проектов 1.8.x до 1.9.0
Установите Cordova 1.9.0.
Создайте новый проект. Вам понадобятся некоторые из ресурсов этого нового проекта.
Скопируйте файл
www/cordova-1.9.0.jsиз нового проекта в папкуwww, и удалите файлwww/cordova-1.8.x.js.Обновите ссылку на скрипт Cordova в файле
www/index.html(и всех других файлах, содержащих ссылку на скрипт), чтобы она указывала на новый файлcordova-1.9.0.js.
ПРИМЕЧАНИЕ: 1.9.0 поддерживает новое значение BackupWebStorage булево Cordova.plist настройки. По умолчанию она включена, поэтому установите её в значение false, чтобы отключить её, особенно на iOS 6. См. Заметки к выпуску: раздел Safari и UIKit
Обновление проектов 1.7.0 до 1.8.x
Установите Cordova 1.8.0.
Создайте новый проект. Вам понадобятся некоторые из ресурсов этого нового проекта.
Скопируйте файл
www/cordova-1.8.0.jsиз нового проекта в папкуwww, и удалите файлwww/cordova-1.7.x.js.Обновите ссылку на скрипт Cordova в файле
www/index.html(и всех других файлах, содержащих ссылку на скрипт), чтобы она указывала на новый файлcordova-1.8.0.js.
Если вы планируете использовать API захвата, вам понадобятся новые ресурсы для iPad с дисплеем Retina:
Скопируйте элемент
Resources/Capture.bundleиз нового проекта в папку вашего проекта, перезаписав существующий элементResources/Capture.bundle.В вашем проекте выберите элемент
Capture.bundleв навигаторе проекта Xcode, нажмите клавишу Delete, затем выберите Удалить ссылку в появившемся диалоговом окне.Перетащите новый элемент
Capture.bundleиз шага 1 выше в навигатор проекта в Xcode, затем выберите опцию Создать группы для добавленных папок.
Обновление проектов 1.6.x до 1.7.0
Установите Cordova 1.7.0.
Создайте новый проект. Вам понадобятся некоторые ресурсы из этого нового проекта.
Скопируйте файл
www/cordova-1.7.0.jsиз нового проекта в папкуwww, и удалите файлwww/cordova-1.6.0.js.Обновите ссылку на скрипт Cordova в файле
www/index.html(и во всех других файлах, содержащих эту ссылку), указав на новый файлcordova-1.7.0.js.
Обновление проектов 1.5.0 до 1.6.x
Установите Cordova 1.6.1.
Создайте резервную копию
AppDelegate.m,AppDelegate.h,MainViewController.m,MainViewController.h, иCordova.plistв вашем проекте.Создайте новый проект. Вам понадобятся некоторые ресурсы из этого нового проекта.
-
Скопируйте эти файлы из нового проекта в папку вашего проекта, основанного на 1.5.0, заменяя старые файлы (сначала сделайте резервную копию файлов из шага 2 выше):
AppDelegate.h AppDelegate.m MainViewController.h MainViewController.m Cordova.plist
Добавьте все новые файлы
MainViewControllerиAppDelegateв свой проект Xcode.Скопируйте файл
www/cordova-1.6.1.jsиз нового проекта в папкуwww, и удалите файлwww/cordova-1.5.0.js.Обновите ссылку на скрипт Cordova в файле
www/index.html(и во всех других файлах, содержащих эту ссылку), указав на новый файлcordova-1.6.1.js.Добавьте новый файл
Cordova.plistв свой проект. Это необходимо, так как имена основных плагинов службы должны измениться, чтобы соответствовать именам из Android и BlackBerry, для унифицированного файла JavaScript Cordova (cordova-js).Внесите в новые настройки любые записи Plugins и ExternalHosts, которые вы имели в своей резервной копии Cordova.plist.
Внесите в новые файлы
AppDelegateлюбой специфичный для проекта код, который вы имели в резервной копииAppDelegate.hиAppDelegate.m. Любой кодUIWebViewDelegateилиCDVCommandDelegateвAppDelegate.mнеобходимо перенести вMainViewController.m(см. закомментированные разделы в этом файле).Внесите в новые файлы MainViewController любой специфичный для проекта код, который вы имели в резервной копии
MainViewController.hиMainViewController.m.Нажмите на значок проекта в навигаторе проекта, выберите свой Проект, затем выберите вкладку Настройки сборки.
В поле поиска введите Компилятор для C/C++/Objective-C.
Выберите значение Apple LLVM Compiler 3.1.
Обновление проектов 1.4.x до 1.5.0
Установите Cordova 1.5.0.
Создайте новый проект и запустите его один раз. Вам понадобятся некоторые ресурсы из этого нового проекта.
Скопируйте файл
www/cordova-1.5.0.jsиз нового проекта в папкуwww, и удалите файлwww/phonegap-1.4.x.js.Обновите ссылку на скрипт Cordova в файле
www/index.html(и во всех других файлах, содержащих эту ссылку), указав на новый файл Cordovacordova-1.5.0.js.Найдите
PhoneGap.frameworkв навигаторе проекта, выберите его.Нажмите клавишу Delete, чтобы удалить ссылку
PhoneGap.frameworkв навигаторе проекта.Нажмите комбинацию клавиш Option-Command-A, чтобы открыть окно для добавления файлов в проект (окно Добавить файлы...). Убедитесь, что выбрана опция Создать группы для добавленных папок.
Нажмите комбинацию клавиш Shift-Command-G, чтобы открыть окно для перехода в папку (окно Перейти в папку:).
Введите
/Users/Shared/Cordova/Frameworks/Cordova.frameworkв поле Перейти в папку: и нажмите кнопку Перейти.Нажмите кнопку Добавить в окне Добавить файлы....
Выберите
Cordova.frameworkв навигаторе проекта.Нажмите комбинацию клавиш Option-Command-1, чтобы открыть инспектор файла.
Выберите Абсолютный путь в выпадающем списке Расположение в инспекторе файла.
Нажмите комбинацию клавиш Option-Command-A, чтобы открыть окно для добавления файлов в проект (окно Добавить файлы...). Убедитесь, что выбрана опция Создать группы для добавленных папок.
Нажмите комбинацию клавиш Shift-Command-G, чтобы открыть окно для перехода в папку (окно Перейти в папку:).
Введите
~/Documents/CordovaLib/Classes/deprecatedв поле Перейти в папку: и нажмите кнопку Перейти.Нажмите кнопку Добавить в окне Добавить файлы....
-
В файлах
AppDelegate.h,AppDelegate.m, иMainViewController.hзамените весь блок#ifdef PHONEGAP_FRAMEWORKна:#import "CDVDeprecated.h"
Нажмите на значок проекта в навигаторе проекта, выберите свой Целевой объект, затем выберите вкладку Настройки сборки.
Поиск по Пути поиска фреймворков.
Замените существующее значение на
/Users/Shared/Cordova/Frameworks.Поиск по Макросы препроцессора.
Для первого (соединенного) значения замените значение на CORDOVA_FRAMEWORK=YES.
Выберите вкладку Этапы сборки.
Разверните Скрипт выполнения.
Замените все вхождения PhoneGap на Cordova.
Найдите файл
PhoneGap.plistв навигаторе проекта и дважды кликните по имени файла, чтобы перейти в режим редактирования имени.Переименуйте
PhoneGap.plistвCordova.plist.Щелкните правой кнопкой мыши по
Cordova.plist, выберите Открыть как → Исходный код.Нажмите Option-Command-F, выберите Заменить из выпадающего меню в левой верхней части окна исходного кода.
Введите
com.phonegapв поле Найти иorg.apache.cordovaв поле Заменить на, затем нажмите кнопку Заменить все.Введите PG в поле Найти и CDV в поле Заменить на, затем нажмите кнопку Заменить все.
Нажмите Command-B, чтобы выполнить сборку. У вас могут остаться устаревшие элементы, которые можно устранить в будущем (см.
CDVDeprecated.h. Например, замените классы в вашем коде, использующие PG*, на CDV*).
Обновление проектов 1.4.0 до 1.4.1
Установите Cordova 1.4.1.
Создайте резервную копию
MainViewController.m.Создайте новый проект. Вам понадобятся некоторые ресурсы из этого нового проекта.
Скопируйте файл
MainViewController.mиз нового проекта в папку вашего проекта, основанного на 1.4.0, заменяя старый файл (сначала сделайте резервную копию файлов из шага 2 выше).Добавьте файл
MainViewController.mв свой проект Xcode.Внесите в новый файл любой специфичный для проекта код, который вы имели в резервной копии
MainViewController.m.Обновление файла
phonegap-1.4.0.jsнеобязательно, так как в JavaScript между 1.4.0 и 1.4.1 изменений нет.
Обновление проектов 1.3.0 до 1.4.0
Установите Cordova 1.4.0.
Создайте резервную копию
AppDelegate.mиAppDelegate.hв вашем проекте.Создайте новый проект. Вам понадобятся некоторые ресурсы из этого нового проекта.
-
Скопируйте эти файлы из нового проекта в папку вашего проекта, основанного на 1.3.0, заменяя старые файлы (сначала сделайте резервную копию файлов из шага 2 выше):
AppDelegate.h AppDelegate.m MainViewController.h MainViewController.m MainViewController.xib
Добавьте все файлы
MainViewControllerв свой проект Xcode.Скопируйте файл
www/phonegap-1.4.0.jsиз нового проекта в папкуwww, и удалите файлwww/phonegap-1.3.0.js.Обновите ссылку на скрипт Cordova в файле
www/index.html(и во всех других файлах, содержащих эту ссылку), указав на новый файлphonegap-1.4.0.js.Добавьте новую запись в
Pluginsв файлеPhoneGap.plist. Ключ —com.phonegap.battery, а значение —PGBattery.Внесите в новые файлы AppDelegate любой специфичный для проекта код, который вы имели в резервных копиях
AppDelegate.hиAppDelegate.m.
Обновление проектов 1.2.0 до 1.3.0
Установите Cordova 1.3.0.
Создайте резервную копию
AppDelegate.mиAppDelegate.hв вашем проекте.Создайте новый проект. Вам понадобятся некоторые ресурсы из этого нового проекта.
-
Скопируйте эти файлы из нового проекта в папку вашего проекта, основанного на 1.2.0, заменяя старые файлы (сначала сделайте резервную копию файлов из шага 2 выше):
AppDelegate.h AppDelegate.m MainViewController.h MainViewController.m MainViewController.xib
Добавьте все файлы
MainViewControllerв свой проект Xcode.Скопируйте файл
www/phonegap-1.3.0.jsиз нового проекта в папкуwww, и удалите файлwww/phonegap-1.2.0.js.Обновите ссылку на скрипт Cordova в файле
www/index.html(и во всех других файлах, содержащих эту ссылку), указав на новый файлphonegap-1.3.0.js.Добавьте новую запись в
Pluginsв файлеPhoneGap.plist. Ключ —com.phonegap.battery, а значение —PGBattery.Внесите в новые файлы AppDelegate любой специфичный для проекта код, который вы имели в резервных копиях
AppDelegate.hиAppDelegate.m.
Обновление проектов 1.1.0 до 1.2.0
Установите Cordova 1.2.0.
Создайте резервную копию
AppDelegate.mиAppDelegate.hв вашем проекте.Создайте новый проект. Вам понадобятся некоторые ресурсы из этого нового проекта.
-
Скопируйте эти файлы из нового проекта в каталог вашего проекта, основанного на версии 1.1.0, на диске, заменяя старые файлы (сначала создайте резервную копию файлов, как указано в шаге 2 выше):
AppDelegate.h AppDelegate.m MainViewController.h MainViewController.m MainViewController.xib
Добавьте все файлы
MainViewControllerв свой проект Xcode.Скопируйте файл
www/phonegap-1.2.0.jsиз нового проекта в каталогwww, и удалите файлwww/phonegap-1.1.0.js.Обновите ссылку на скрипт Cordova в файле
www/index.html(и любых других файлах, содержащих ссылку на скрипт) на новый файлphonegap-1.2.0.js.Добавьте новую запись в
Pluginsв файлеPhoneGap.plist. Ключ —com.phonegap.battery, а значение —PGBattery.Интегрируйте любой код, специфичный для проекта, который у вас есть в резервных копиях
AppDelegate.hиAppDelegate.m, в новые файлы AppDelegate.
Обновление проектов 1.0.0 до 1.1.0
Установите Cordova 1.1.0.
Создайте резервную копию
AppDelegate.mиAppDelegate.hв вашем проекте.Создайте новый проект. Вам понадобятся некоторые ресурсы из этого нового проекта.
-
Скопируйте эти файлы из нового проекта в каталог вашего проекта, основанного на версии 1.0.0, на диске, заменяя старые файлы (сначала создайте резервную копию файлов, как указано в шаге 2 выше):
AppDelegate.h AppDelegate.m MainViewController.h MainViewController.m MainViewController.xib
Добавьте все файлы
MainViewControllerв свой проект Xcode.Скопируйте файл
www/phonegap-1.1.0.jsиз нового проекта в каталогwww, и удалите файлwww/phonegap-1.0.0.js.Обновите ссылку на скрипт Cordova в файле
www/index.html(и любых других файлах, содержащих ссылку на скрипт) на новый файлphonegap-1.1.0.js.Добавьте новую запись в
Pluginsв файлеPhoneGap.plist. Ключ —com.phonegap.battery, а значение —PGBattery.Интегрируйте любой код, специфичный для проекта, который у вас есть в резервных копиях
AppDelegate.hиAppDelegate.m, в новые файлы AppDelegate.
Обновление проектов 0.9.6 до 1.0.0
Установите Cordova 1.0.0.
Создайте резервную копию
AppDelegate.mиAppDelegate.hв вашем проекте.Создайте новый проект. Вам понадобятся некоторые ресурсы из этого нового проекта.
-
Скопируйте эти файлы из нового проекта в каталог вашего проекта, основанного на версии 0.9.6, на диске, заменяя старые файлы (сначала создайте резервную копию файлов, как указано в шаге 2 выше):
AppDelegate.h AppDelegate.m MainViewController.h MainViewController.m MainViewController.xib
Добавьте все файлы
MainViewControllerв свой проект Xcode.Скопируйте файл
www/phonegap-1.0.0.jsиз нового проекта в каталогwww, и удалите файлwww/phonegap-0.9.6.js.Обновите ссылку на скрипт Cordova в файле
www/index.html(и любых других файлах, содержащих ссылку на скрипт) на новый файлphonegap-1.0.0.js.Добавьте новую запись в
Pluginsв файлеPhoneGap.plist. Ключ —com.phonegap.battery, а значение —PGBattery.Интегрируйте любой код, специфичный для проекта, который у вас есть в резервных копиях
AppDelegate.hиAppDelegate.m, в новые файлы AppDelegate.
© 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/upgrade.html