跨平台phonegap项目的目录结构

时间:2011-09-01 16:04:42

标签: xcode eclipse git cordova cross-platform

单个源存储库的良好目录结构是什么,它同时包含Android和iOS版本的phonegap项目?我没关系使用sym-links,因为我不希望在PC上发生任何开发。 (但是,如果有一个干净的方式可以做到这一点,我会全力以赴,因为PC上的git和符号链接是一场噩梦。)我试过这个:

www/
    index.html
    js/ *.js
    xpjs-ios/ *.js
    xpjs-android/ *.js
    css/ *.css
    html/ *.html  (all other files)

android/
        (lots of java and config files)
android/assets/www/index.html -> www/index.html
                   js -> www/js
                   xpjs -> www/xpjs-android
                   html -> www/html
                   css -> www/css
ios/
    (xcode config and such)
ios/www/index.html -> www/index.html
        js -> www/js
        xpjs -> www/xpjs-ios
        html -> www/html
        css -> www/css

然后我将xcode指向ios / www目录,并在android / www目录下进行eclipse。对于特定于平台的javascript,html文件引用xpjs/phonegap.jsxpjs/my-quirks.js并获取这些文件的android或ios版本。

这似乎应该可行,但xcode4似乎没有处理符号链接。如果我打开xcode编辑器中的一个源文件,它读起来很好,但是当我尝试保存它时,它会说像

The document "index.html" could not be saved.  It does not exist.

和我尝试运行时的应用程序失败并显示

ERROR: Start page 'www/index.html' was not found.

当然有人想出来了。

2 个答案:

答案 0 :(得分:4)

phonegap wiki上有一个写法(看起来像第一遍),解释了如何使用git子模块。为了补充这个条目,我还写了一篇关于使用svn:externals属性的文章。我对符号链接的唯一想法是,人们必须设置它,而不是从源控制存储库中获取它们。这不是一个真正的问题,但是当您切换计算机或在项目上获得其他开发人员时,它是设置的后勤。我将采取svn:externals路线,直到我找到更好的东西。

答案 1 :(得分:4)

使用Git和Submodules实际上很容易。上面提到的phonegap wiki确实有点渺小,所以我实际上继续实施了一个配置xcode&的解决方案。日食项目。

请参阅我的博文中的链接:Phonegap project structure using git submodules

如果您不想使用Git子模块,还有一个Symlink解决方案,如果您使用Git或SVN,则无需关心。

http://www.tricedesigns.com/2012/02/16/linked-source-files-across-phonegap-projects-on-osx/