PhoneGap 3.3项目结构和编辑代码

时间:2014-02-16 18:20:11

标签: ios xcode cordova

我即将放弃尝试使用Visual Studio构建PhoneGap就绪应用程序并转向Mac路由。我唯一的犹豫是使用ASP.Net MVC WebApi(C#)开发用于访问服务器数据的所有WebApis。我真的不想从Mac开始用于开发用户界面来开发WebApi。

无论如何,在研究PhoneGap 3.3并使用CLI建立项目结构时,我发现创建了一个共享的www文件夹,其中所有的Html,JS和CSS代码都应该驻留在其中。您添加到项目中的每个平台(iOS,Android等)都位于一个单独的平台文件夹中:

Project Root Folder
|- platforms
    |- iOS
        | - www
    |- android
        | - www
|- www
    |- css
    |- js
    |- index.html 

文档说您不应该对任何平台www文件夹中的文件进行任何编辑,因为构建过程会将文件从根www文件夹复制到平台中的每个www文件夹。

iOS文件夹包含打开iOS平台特定www文件夹(不是根文件夹)的xcodeProject文件。我知道iOS下的www文件夹特定于iOS平台。但这意味着您无法使用XCode编辑您看到的任何文件。现在,XCode作为编辑器是无用的,因为它编辑了错误的文件。

我们如何在根www文件夹中使用Xcode?谢谢你的帮助。

1 个答案:

答案 0 :(得分:2)

我将向您展示我的团队如何在iOS上与Cordova合作。这可能不是文档中推荐的方式,但它有效(此外,文档从未可靠)。

对于Android,我们并排开发Android版本,因为文档工作得很好:

  • 将文件复制到www文件夹
  • 执行cordova build android
  • platforms/android/bin文件夹
  • 复制已编译的应用

然而,对于iOS来说它变得棘手。如上所述,有xcodeProject个文件。如果您从xcode进行了任何更改,则执行cordova build ios肯定会覆盖这些更改。我们还发现第二次运行cordva build ios会破坏config.xml文件 - 使我们正确运行应用程序所需的所有插件无效(从3.3.0开始就是这样)。

因此,推荐的iOS团队方法是:

  • 使用cordova build ios创建iOS项目文件(xcodeProject)。
  • 对HTML文件的所有更改都应该发送到文件夹platforms/ios/www/
  • 不会触及根文件夹www
  • 编译iOS IPA仅在Xcode中完成。

这种方法适用于我们,因为我们在Windows PC上单独编译Android构建文件。如果您将一个系统用于多个平台,则可以更明智地对根www进行所有更改,然后在platforms/ios/www/创建符号链接 - 仍然保留Xcode以编译iOS和{{1}其他平台的命令行。

希望这有帮助!