没有Phonegap Build的iOS Phonegap应用程序

时间:2013-09-23 10:27:09

标签: android ios cordova command-line-interface

所以我问了并回答了问题[如何在没有Phonegap Build的情况下进行Phonegap 3.0] [1]。现在我的应用程序已经为iOS做好了准备(我认为),是时候开始为该平台进行部署和调试了。

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

1 个答案:

答案 0 :(得分:8)

这个答案仍在进行中。

我取得的目标:

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

尝试失败:

  • 从命令行
  • 编译并运行(device / sim)

<强> 1。创建

我可以轻松添加iOS平台,如docs' iOS Platform Guide

中所述

基本上,如果项目已经存在,因为你首先使用Android,那就是你设置iOS应用程序结构的方式。

$ add platform ios

然后你应该将文件添加到main / 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. 在控制台中,执行:cordova run ios
  4. 在xCode中,菜单栏&gt;产品&gt;清洁产品
  5. 在xCode中,运行

  6. 第3。部署到模拟器

    仍然,“部署到设备是不可能的”问题“模拟器怎么样?”......

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

    $ /path/to/my_new_project/cordova/run
    

    这让我很困惑。那是什么样的道路?从哪里开始运行它?这是一种提供可以在任何地方运行的命令的好方法吗?为什么强迫我为每个命令输入烦人的长项目路径?

    令人困惑的是,如果您实际转到运行可执行文件所在的“platforms / ios / cordova”目录,则run命令不起作用。

    诀窍是降低一个目录,即在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"
    

    我做错了什么?我尝试过使用和不使用双引号,我甚至将ios-sim目录重命名为iossim,以防连字符出现问题。没效果。

    现在没有模拟器。

    <强> 5。安装到iOS App Store

    这就是Phonegap真的让你离开森林的地方。也许是因为他们希望您使用他们的付费应用发布服务,但也因为发布iOS应用程序的过程基本上是您使用xCode,iOS Developer Portal和iTunes Connect的过程。

    所以这就是:

    您需要为您的应用程序提供所有正确的证书和配置文件(是的,这是一堆难以理解的虚拟文档,所有这些都需要彼此,Apple就像是苏联的应用程序商店)。

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

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

    最直观的一点是,为了发布您的应用,您首先必须在xCode中创建它的存档(在xCode中打开您的项目&gt;菜单栏&gt; Product&gt; Archive)。

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

    分发按照说法执行:它将应用程序与App Store相加。

    恭喜! (现在等五天)