升级 iOS
本指南介绍如何修改 iOS 项目以从旧版本的 Cordova 升级。大多数这些说明适用于使用旧版命令行工具(早于 cordova
CLI 工具)创建的项目。有关如何更新 CLI 版本的信息,请参阅 命令行界面。
注意:您应该使用最新版本的 iOS SDK,该 SDK 包含在最新版本的 Xcode 中。
升级 4.x 项目
cordova platform rm ios
cordova platform add ios
将 3.6.0 项目升级到 4.0.0
对于非 CLI 项目,运行
bin/update path/to/project
对于 CLI 项目
-
更新
cordova
CLI 版本。请参阅 命令行界面。 -
在现有项目中运行
cordova platform update ios
。
将 3.3.0 项目升级到 3.4.0
对于非 CLI 项目,运行
bin/update path/to/project
对于 CLI 项目
-
更新
cordova
CLI 版本。请参阅 命令行界面。 -
运行
cordova platform update ios
将 3.2.0 项目升级到 3.3.0
对于非 CLI 项目,运行
bin/update path/to/project
对于 CLI 项目
-
更新
cordova
CLI 版本。请参阅 命令行界面。 -
运行
cordova platform update ios
将 3.1.0 项目升级到 3.2.0
对于非 CLI 项目,运行
bin/update path/to/project
对于 CLI 项目
-
更新
cordova
CLI 版本。请参阅 命令行界面。 -
运行
cordova platform update ios
将 3.0.0 项目升级到 3.1.0
对于非 CLI 项目,运行
bin/update path/to/project
对于 CLI 项目
-
更新
cordova
CLI 版本。请参阅 命令行界面。 -
运行
cordova platform update ios
iOS 7 问题
-
从
index.html
文件的viewport
meta
标签中删除width=device-width, height=device-height
。(请参阅 相关错误。) -
更新您的媒体、媒体捕获和启动画面核心插件以支持 iOS 7。
Xcode 5 问题
-
如果 Xcode 5 提示您更新项目设置,请更新您的项目设置(在问题导航器中)。
-
在构建设置选项卡的构建选项部分中,更新您的C/C++/Objective-C 编译器设置。选择默认编译器(Apple LLVM 5.0)。
从 2.9.0 升级到 CLI(3.0.0)
-
使用 cordova CLI 创建一个新的 Apache Cordova 3.0.0 项目,如 命令行界面 中所述。
-
将您的平台添加到 cordova 项目中,例如:
cordova platform add ios
。 -
将项目
www
目录的内容复制到您刚刚创建的 cordova 项目根目录下的www
目录中。 -
复制或覆盖您原始项目中的任何原生资产(
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 Shell 工具指南 中所述。您需要来自此新项目的资产。
-
将
www/cordova.js
(注意它不再有版本后缀,版本在文件本身的标题中)文件从新项目复制到www
目录中,并删除www/cordova.js
文件。 -
更新
www/index.html
文件(以及包含脚本引用的任何其他文件)中的 Cordova 脚本引用,使其指向新的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 Shell 工具指南 中所述。您需要来自此新项目的资产。
-
将
www/cordova.js
(注意它不再有版本后缀,版本在文件本身的标题中)文件从新项目复制到www
目录中,并删除www/cordova.js
文件。 -
更新
www/index.html
文件(以及包含脚本引用的任何其他文件)中的 Cordova 脚本引用,使其指向新的cordova.js
文件。 -
删除
CordovaLib
目录,并将新项目中的CordovaLib
目录复制到项目的根目录中。
将 2.7.0 项目升级到 2.8.0
-
将 Cordova 2.8.0 源代码下载并解压缩到硬盘驱动器上的永久目录位置,例如
~/Documents/Cordova-2.8.0
。 -
如果 Xcode 正在运行,请退出。
-
使用 Terminal.app 导航到您将下载的源代码放置的目录。
-
创建一个新项目,如 iOS Shell 工具指南 中所述。您需要来自此新项目的资产。
-
将
www/cordova.js
(注意它不再有版本后缀,版本在文件本身的标题中)文件从新项目复制到www
目录中,并删除www/cordova-2.7.0.js
文件。 -
更新
www/index.html
文件(以及包含脚本引用的任何其他文件)中的 Cordova 脚本引用,使其指向新的cordova.js
文件。 -
将
config.xml
文件中的所有<plugin>
标签更新为<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 Shell 工具指南 中所述。您需要来自此新项目的资产。
-
将
www/cordova-2.7.0.js
文件从新项目复制到www
目录中,并删除www/cordova-2.6.0.js
文件。 -
更新
www/index.html
文件(以及包含脚本引用的任何其他文件)中的 Cordova 脚本引用,使其指向新的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
文件。 -
更新
www/index.html
文件(以及引用脚本的任何其他文件)中的 Cordova 脚本引用,使其指向新的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
文件。 -
更新
www/index.html
文件(以及包含脚本引用的任何其他文件)中的 Cordova 脚本引用,使其指向新的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
文件。 -
更新
www/index.html
文件(以及包含脚本引用的任何其他文件)中的 Cordova 脚本引用,使其指向新的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
文件。 -
更新
www/index.html
文件(以及包含脚本引用的任何其他文件)中的 Cordova 脚本引用,使其指向新的cordova-2.3.0.js
文件。 -
根据新项目中的文件更新(或替换,如果您从未更改过该文件)
MainViewController.m
。 -
删除
cordova
目录,并将新项目中的cordova
目录复制到项目的根目录。在 2.3.0 中,这包含新的脚本。 -
删除
CordovaLib
目录,并将新项目中的CordovaLib
目录复制到项目的根目录中。 -
通过在项目文件上运行脚本
bin/cordova\_plist\_to\_config\_xml
将Cordova.plist
文件转换为config.xml
。 -
通过在
<cordova><plugins>
下添加此标签,将 InAppBrowser 插件添加到config.xml
中<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(现在已在所有平台上弃用)以前返回用户的设备名称(例如“Shazron 的 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 Shell 工具指南 中所述。您需要来自此新项目的资产。
-
将新项目中的
www/cordova-2.2.0.js
文件复制到www
目录,并删除www/cordova-2.1.0.js
文件。 -
更新
www/index.html
文件(以及包含脚本引用的任何其他文件)中的 Cordova 脚本引用,使其指向新的cordova-2.2.0.js
文件。 - 根据新项目中的文件更新(或替换,如果您从未更改过该文件)
MainViewController.m
- 已更新 → viewWillAppear
-
将新项目中的
cordova
目录复制到项目的根目录。在 2.2.0 中,这包含一个更新的“模拟”脚本。 - 接下来,更新
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
复制到您的项目目录中,并在 Xcode 文件检查器中更新 CordovaLib
子项目位置(相对于项目)。
将 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 Shell 工具指南 中所述。您需要来自此新项目的资产。
-
将新项目中的
www/cordova-2.1.0.js
文件复制到www
目录,并删除www/cordova-2.0.0.js
文件。 -
更新
www/index.html
文件(以及包含脚本引用的任何其他文件)中的 Cordova 脚本引用,使其指向新的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 Shell 工具指南 中所述。您需要来自此新项目的资产。
-
将新项目中的
www/cordova-2.0.0.js
文件复制到www
目录,并删除www/cordova-1.9.0.js
文件。 -
更新
www/index.html
文件(以及包含脚本引用的任何其他文件)中的 Cordova 脚本引用,使其指向新的cordova-2.0.0.js
文件。 -
将新项目中的
cordova
目录复制到项目的根目录(如果您想要项目命令行工具)。 -
在 支持文件 组下的
Cordova.plist
文件中的Plugins
下添加一个新条目。键是Device
,值是CDVDevice
。 -
删除
Cordova.framework
。 -
从 支持文件 组中删除
verify.sh
。 -
在项目导航器中选择项目图标,选择您的项目 **目标**,然后选择 **构建设置** 选项卡。
-
搜索 **预处理器宏**,然后删除所有 **CORDOVA_FRAMEWORK=1** 值。
-
找到安装在硬盘驱动器上的
CordovaLib
目录,该目录位于主文件夹的Documents
子目录下。 -
找到
CordovaLib
目录中的CordovaLib.xcodeproj
文件,然后将其拖放到项目中。它应该显示为一个子项目。 -
构建项目,您应该会收到一些与
#import
指令相关的错误。 -
对于
#import
错误,将此样式中的任何引号引用的导入#import "CDV.h"
更改为这种括号引用的样式
#import <Cordova/CDV.h>
并删除任何 Cordova 导入周围的
#ifdef
包装器,它们不再需要(导入现在已统一)。 -
再次构建项目,它不应该有任何
#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
文件。 -
更新
www/index.html
文件(以及包含脚本引用的任何其他文件)中的 Cordova 脚本引用,使其指向新的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
文件。 -
更新
www/index.html
文件(以及包含脚本引用的任何其他文件)中的 Cordova 脚本引用,使其指向新的cordova-1.8.0.js
文件。
如果您打算使用 Capture API,您将需要新的 **iPad 视网膜显示屏** 资产
-
将新项目中的
Resources/Capture.bundle
项目复制到您的项目目录中,覆盖您现有的Resources/Capture.bundle
项目。 -
在您的项目中,将
Capture.bundle
项目选择到 Xcode 中的项目导航器中,键入 **Delete** 键,然后从出现的对话框中选择 **Remove Reference**。 -
将步骤 1 中的新
Capture.bundle
拖放到 Xcode 中的项目导航器中,然后选择 **为任何添加的文件夹创建组** 单选按钮。
将 1.6.x 项目升级到 1.7.0
-
安装 Cordova 1.7.0。
-
创建一个新项目。您将需要来自此新项目的一些资产。
-
将新项目中的
www/cordova-1.7.0.js
文件复制到www
目录,并删除www/cordova-1.6.0.js
文件。 -
更新
www/index.html
文件(以及包含脚本引用的任何其他文件)中的 Cordova 脚本引用,使其指向新的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
文件。 -
在
www/index.html
文件(以及包含脚本引用的任何其他文件)中更新 Cordova 脚本引用,使其指向新的cordova-1.6.1.js
文件。 -
将新的
Cordova.plist
文件添加到您的项目中。这是必需的,因为核心插件服务名称必须更改为与 Android 和 BlackBerry 的名称匹配,以便统一 Cordova JavaScript 文件 (cordova-js
)。 -
将您在备份的 Cordova.plist 中的任何设置、插件 和 外部主机 条目集成到新的
Cordova.plist
中。 -
将您在备份的
AppDelegate.h
和AppDelegate.m
中的任何项目特定代码集成到新的AppDelegate
文件中。AppDelegate.m
中的任何UIWebViewDelegate
或CDVCommandDelegate
代码现在需要放到MainViewController.m
中(请参阅该文件中的注释部分)。 -
将您在备份的
MainViewController.h
和MainViewController.m
中的任何项目特定代码集成到新的 MainViewController 文件中。 -
单击项目导航器中的项目图标,选择您的 项目,然后选择 构建设置 选项卡。
-
在搜索字段中输入 C/C++/Objective-C 编译器。
-
选择 Apple LLVM 编译器 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
文件。 -
在
www/index.html
文件(以及包含脚本引用的任何其他文件)中更新 Cordova 脚本引用,使其指向新的 Cordovacordova-1.5.0.js
文件。 -
在项目导航器中找到
PhoneGap.framework
,选择它。 -
按 Delete 键,删除项目导航器中的
PhoneGap.framework
引用。 -
按 Option-Command-A 键组合,这将下拉一个用于将文件添加到项目的表格(添加文件... 表格)。确保选中 为任何添加的文件夹创建组 单选按钮。
-
按 Shift-Command-G 键组合,这将下拉另一个用于转到文件夹的表格(转到文件夹: 表格)。
-
在 转到文件夹: 表格中输入
/Users/Shared/Cordova/Frameworks/Cordova.framework
,然后按 Go 按钮。 -
按 添加文件... 表格中的 添加 按钮。
-
在项目导航器中选择
Cordova.framework
。 -
按 Option-Command-1 键组合以显示 文件检查器。
-
在 文件检查器 中,为 位置 的下拉菜单选择 绝对路径。
-
按 Option-Command-A 键组合,这将下拉一个用于将文件添加到项目的表格(添加文件... 表格)。确保选中 为任何添加的文件夹创建组 单选按钮。
-
按 Shift-Command-G 键组合,这将下拉另一个用于转到文件夹的表格(转到文件夹: 表格)。
-
在 转到文件夹: 表格中输入
~/Documents/CordovaLib/Classes/deprecated
,然后按 Go 按钮。 -
按 添加文件... 表格中的 添加 按钮。
-
在
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
文件是可选的,因为 1.4.0 和 1.4.1 之间的 JavaScript 没有变化。
将 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
文件。 -
在
www/index.html
文件(以及包含脚本引用的任何其他文件)中更新 Cordova 脚本引用,使其指向新的phonegap-1.4.0.js
文件。 -
在
PhoneGap.plist
文件中的Plugins
下添加一个新条目。键是com.phonegap.battery
,值是PGBattery
。 -
将您在备份的
AppDelegate.h
和AppDelegate.m
中的任何项目特定代码集成到新的 AppDelegate 文件中。
将 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
文件。 -
在
www/index.html
文件(以及包含脚本引用的任何其他文件)中更新 Cordova 脚本引用,使其指向新的phonegap-1.3.0.js
文件。 -
在
PhoneGap.plist
文件中的Plugins
下添加一个新条目。键是com.phonegap.battery
,值是PGBattery
。 -
将您在备份的
AppDelegate.h
和AppDelegate.m
中的任何项目特定代码集成到新的 AppDelegate 文件中。
将 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
文件。 -
在
www/index.html
文件(以及包含脚本引用的任何其他文件)中更新 Cordova 脚本引用,使其指向新的phonegap-1.2.0.js
文件。 -
在
PhoneGap.plist
文件中的Plugins
下添加一个新条目。键是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
文件。 -
在
www/index.html
文件(以及包含脚本引用的任何其他文件)中更新 Cordova 脚本引用,使其指向新的phonegap-1.1.0.js
文件。 -
在
PhoneGap.plist
文件中的Plugins
下添加一个新条目。键是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
文件。 -
在
www/index.html
文件(以及包含脚本引用的任何其他文件)中更新 Cordova 脚本引用,使其指向新的phonegap-1.0.0.js
文件。 -
在
PhoneGap.plist
文件中的Plugins
下添加一个新条目。键是com.phonegap.battery
,值是PGBattery
。 -
将您在备份的
AppDelegate.h
和AppDelegate.m
中的任何项目特定代码集成到新的 AppDelegate 文件中。