升级 iOS
本指南展示了如何修改 iOS 项目以从旧版本的 Cordova 升级。 大多数这些说明适用于使用较旧的一组命令行工具(早于 cordova
CLI 实用程序)创建的项目。 有关如何更新 CLI 版本的信息,请参阅命令行界面。
注意:你应该使用最新发布的 iOS 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 提示你这样做,请更新你的项目设置(在 Issues Navigator 中)。
-
在 Build Settings 选项卡下的 Build Options 部分更新你的 Compiler for C/C++/Objective-C 设置。 选择 Default compiler (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 正在运行,请退出 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 正在运行,请退出 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 正在运行,请退出 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
-
更新你的项目目标Build Settings。 在 Linking → Other Linker Flags 下,将 "-Obj-C" 编辑为 "-ObjC"。
-
更新你的项目目标 Build Settings。 在 Linking → Other Linker Flags 下,将 "-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 正在运行,请退出 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
文件更新(或替换,如果你从未更改过该文件)AppDelegate.m
文件(请参阅 此差异)。 -
在
config.xml
文件中,删除此行。 -
删除
CordovaLib
目录,并将新项目中的CordovaLib
目录复制到你的项目根目录中。
将 2.5.0 项目升级到 2.6.0
-
将 Cordova 2.6.0 源代码下载并提取到你硬盘驱动器上的永久目录位置,例如
~/Documents/Cordova-2.6.0
。 -
如果 Xcode 正在运行,请退出 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
文件更新(或替换,如果你从未更改过该文件)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 正在运行,请退出 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
文件更新(或替换,如果你从未更改过该文件)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 正在运行,请退出 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 正在运行,请退出 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 正在运行,请退出 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
的位置时不再使用 CORDOVALIB Xcode 变量,该引用现在是绝对文件引用。- 启动 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 正在运行,请退出 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
的位置时不再使用 CORDOVALIB Xcode 变量,该引用现在是绝对文件引用。- 启动 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
文件中的 Supporting Files 组下添加一个新条目到Plugins
下。键为Device
,值为CDVDevice
。 -
删除
Cordova.framework
。 -
从 Supporting Files 组中删除
verify.sh
。 -
在项目导航器中选择项目图标,选择您的项目目标,然后选择构建设置选项卡。
-
搜索预处理器宏,然后删除所有 CORDOVA_FRAMEWORK=1 值。
-
找到安装在您的主文件夹的
Documents
子目录下的硬盘上的CordovaLib
目录。 -
找到
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 retina-display 资源
-
将新项目中的
Resources/Capture.bundle
项复制到您的项目目录中,覆盖您现有的Resources/Capture.bundle
项。 -
在您的项目中,在 Xcode 的“项目导航器”中选择
Capture.bundle
项,键入 Delete 键,然后从出现的对话框中选择 移除引用。 -
将上面步骤 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 中包含的任何设置、插件和 ExternalHosts 条目集成到新的
Cordova.plist
中。 -
将您备份的
AppDelegate.h
和AppDelegate.m
中包含的任何特定于项目的代码集成到新的AppDelegate
文件中。AppDelegate.m
中的任何UIWebViewDelegate
或CDVCommandDelegate
代码现在都需要放入MainViewController.m
中(请参阅该文件中的注释掉的部分)。 -
将您备份的
MainViewController.h
和MainViewController.m
中包含的任何特定于项目的代码集成到新的 MainViewController 文件中。 -
单击“项目导航器”中的项目图标,选择您的项目,然后选择 构建设置 选项卡。
-
在搜索字段中输入 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
文件。 -
更新
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
,然后按 前往 按钮。 -
按 添加文件… 工作表中的 添加 按钮。
-
在“项目导航器”中选择
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
文件是可选的,在 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 文件中。