2013-09-23 61 views
2

所以我问和回答了问题[如何做Phonegap 3.0没有Phonegap构建] [1]。现在我的应用程序也准备好了iOS(我认为),现在该开始为该平台进行部署和调试。Phonegap应用程序的iOS没有Phonegap构建

正式问题:如何将iOS平台添加到Phonegap 3.0项目?

回答

8

此答案仍在进行中。

目标我已经达到:

  • 编译在命令行中的项目,然后在设备上运行或SIM使用Xcode的

尝试失败:

  • 编译和运行(设备/ sim)全部来自命令行

1.创建

docs' iOS Platform Guide描述,我可以轻松地添加了iOS平台。

基本上,如果项目已经存在是因为您首先执行了Android,那么您将如何设置iOS应用程序结构。

$ add platform ios 

那么你应该将文件添加到主/ WWW文件夹,如果你不已经从Android的工作有他们。然后,这需要建立在调试形式应用的护理:

$ cordova prepare //Creates all the necessary source filed 
$ cordova compile //Creates an ipa file 

//Alternatively, do both in one go with cordova build 

2.部署到设备

但它是完全不清楚如何使用命令行界面实际部署测试应用程序到设备或模拟器。

当您将一个物理的iOS设备,并简单地尝试这种从主项目文件夹...

$ cordova run ios 

你得到一个非常明确的答案:

[Error: An error occurred while running the ios project. Targeting a device is not supported currently. 

]

所以我已经辞去了自己的设备测试,我仍然必须使用xCode。没什么大不了的。但是,xCode无法在更新文件后自行“刷新”项目,因此在部署之间必须返回到命令行来重新编译iOS应用程序。

奇怪的是,当我更新我的代码时,我确实需要使用“cordova run ios”(即使出现上述错误)以更新/ platforms/ios/www文件夹。因此,这是什么工作,不工作:

$ cordova run ios 
//Rebuilds the app with main /www files successfully, 
//then tries to deploy to device and fails in that. 

$ cordova prepare ios 
//Does not rebuild with main /www files 
//(Also does not deploy but that is not its intended function) 

请记住,您还需要清洁的Xcode项目运行之间。因此,序列为:

  1. 上运行
  2. 编辑代码
  3. 在控制台中,执行:科尔多瓦运行IOS
  4. 在Xcode中,菜单栏>在Xcode中,润产品>清洁产品

3.部署与仿真器

不过,“部署到设备是不可能的”引出了一个问题:“什么模拟器?” ......

3.0命令行界面上的文档页面中提到,你应该输入命令

$ /path/to/my_new_project/cordova/run 

这让我很困惑。那是什么样的路径?你应该从哪里运行它?提供可以从任何地方运行的命令是一种很好的方式吗?为什么迫使我为每个命令输入令人讨厌的长项目路径?

令人迷惑的是,如果你真的去了“平台/ IOS /科尔多瓦”,其中运行可执行文件所在目录下运行命令不起作用。

技巧是将一个目录放在较低的位置,即在您的Cordova应用程序项目的/ platforms/ios子文件夹中。在那里你输入“cordova/run”。然后在我的情况下,它开始建设。


4.安装 “IOS-SIM”

但是,这不是它的结束。我随后得到了一个关于未安装“ios-sim”的意外错误。

[...] 
** BUILD SUCCEEDED ** 

Error: ios-sim was not found. Please download, build and install version 1.5 or greater from https://github.com/phonegap/ios-sim into your path. Or 'brew install ios-sim' using homebrew: http://mxcl.github.com/homebrew/ 

幸运的是,项目网页上有关于如何安装的文档。但是,即使在将ios-sim目录添加到我的$ PATH之后,当我想要模拟时,我会得到以下错误。

$ cordova emulate ios 
[TypeError: Arguments to path.join must be strings] 

这是我目前卡住的地方。我的路径看起来完全像这样(全部在一行中):

export PATH=${PATH}:/Applications/adt-bundle/ 
sdk/platform-tools:/Applications/adt-bundle/sdk 
/tools:%JAVA_HOME%\bin%ANT_HOME%\bin:"/Users/ 
cool/Library/Developer/iossim" 

我在做什么错了?我试着和双引号没有,我甚至已经改名iossim目录iossim的情况下,连字符是问题。没有效果。

所以现在没有模拟器。

5.安装到iOS App Store的

这是真正的PhoneGap让你在外面的树林点。也许是因为他们希望你使用他们的付费应用发布服务,也因为发布的iOS应用程序的过程基本上是你使用Xcode的soemthing,iOS的开发者门户网站和iTunes连接。

所以这里有云:

你需要有全方位为您的应用正确的证书和配置文件(是的,这是一帮所有需要彼此难以理解的虚拟文件,苹果就像应用程序苏联商店)。

您在iOS Developer Portal中请求这些证书和配置文件,将它们保存到磁盘,然后双击它们以便xCode知道您拥有了它们并将它们包含在您的应用中。

这是关于如何发布您的应用程序的docs page for xCode 4

最不直观的一点是,为了发布您的应用程序,您首先必须在xCode中创建一个存档(在xCode>菜单栏>产品>存档中打开您的项目)。

创建存档后,您将在存档选项卡下的管理器视图中看到它。应该有两个按钮:验证和分发。验证支票并在应用程序中包含所有配置文件和证书,还会检查错误版本号等错误。

Distribute的功能如下:它将应用程序提供给App Store。

恭喜! (现在等五天)

相关问题