我将放弃尝试使用Visual Studio构建支持PhoneGap的应用程序并走Mac路线的打算。我唯一的犹豫是我所有用于访问服务器数据的WebApi都是使用ASP.Net MVC WebApi(C#)开发的。我真的不想从Mac开发UI过渡到Windows开发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文件夹包含xcodeProject文件,该文件可打开iOS平台的特定www文件夹(而不是根文件夹)。我了解iOS下的www文件夹特定于iOS平台。但这意味着您无法使用XCode编辑看到的任何文件。现在,XCode不能用作编辑器,因为它可以编辑错误的文件。

我们应该如何针对根www文件夹使用Xcode?谢谢你的帮助。

最佳答案

我将向您展示我的团队如何在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
  • 仅在Xcode中完成iOS IPA的编译。

  • 这种方法对我们有效,因为我们在Windows PC上单独编译了Android构建文件。如果将一个系统用于多个平台,则最好对根www进行所有更改,然后在platforms/ios/www/上创建符号链接-仍然保留Xcode来为其他平台编译iOS和cordova build **命令行。

    希望这可以帮助!

    关于ios - PhoneGap 3.3项目结构和编辑代码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21815440/

    10-12 00:24
    查看更多