0

有没有人有一个明智的、干净的方法来www为 phonegap 应用程序拥有一个资产文件夹的副本,但又拥有一个 iOS 和 Android 包装器项目?

我意识到我可以用符号链接做一些疯狂的事情,但是它不能解决从cordova.js.

我也意识到我可以编写一个构建脚本xcopy等等,这可能是我必须要做的,但我只是想知道其他人都在使用什么解决方案?

4

2 回答 2

0

编辑以提供科尔多瓦推荐的方法:

从 Cordova 3.X 开始,新的CLI 工具支持此工作流程。它允许您创建一个 Cordova 项目,在单个/www/文件夹中编辑应用程序资产,并使用命令行工具将更改从您的应用程序级别传播/www/到各个平台特定的资产位置(如res/www/Android 或/www/iOS)。在这个答案中谈到了这一点:是否应该在 config.xml 文件中声明一个 phonegap 插件?

我的旧答案,仍然相关:

IBM Worklight 提供了这个功能。您在文件夹中创建应用程序代码/common/,然后您可以将设备特定代码(如果需要)放置在适当/Android//iPhone/、 等文件夹中。您可以在此处免费下载 Developer Edition:http ://www-03.ibm.com/software/products/us/en/worklight/

我确信还有其他产品,例如 IBM Worklight。我知道 Cordova 邮件列表中有一些 NetBeans 开发人员。我确定还有其他消费产品(如果您发现任何产品,请编辑此答案并列出它们!)

于 2013-05-30T12:47:22.993 回答
0

我有一个通用的“PhoneGap”文件夹和 VS 解决方案,然后在子目录“iOS”和“Android”中,每个平台都有一个单独的代码库,以及所有相关的 Xcode 和 Eclipse 工作区。那是任何特定于设备的调整,或通过模拟器进行的测试,都可以轻松完成。

到目前为止,直截了当。

我想我决定反对符号链接是因为 OS X 上的问题?记不太清了。

当时我正在使用 TFS,因此我编写了一个控制台应用程序,它会在运行时将 TFS 中的未决更改复制到您配置的任何子目录中。这意味着所有 3 个代码库将一起更新。我决定不自动化这一步,让用户通过运行控制台应用程序来控制他们的更改是否被复制。该应用程序能够在需要时添加、编辑或删除现有文件,而且我还有一个要忽略的文件“黑名单”,其中包括cordova.js.

根本没花太长时间敲起来,MSDN文档是合理的:http: //msdn.microsoft.com/en-us/library/bb138973.aspx http://msdn.microsoft.com/en-我们/图书馆/microsoft.teamfoundation.versioncontrol.client.workspace.pendadd.aspx

这是一个片段:

var teamProjectCollection = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("http://dev:8080/tfs/MyCollection"));
versionControlServer = teamProjectCollection.GetService(typeof(VersionControlServer)) as VersionControlServer;
var pendingSets = versionControlServer.QueryPendingSets(new string[] { "$/" }, RecursionType.Full, workspaceInfo.Name, workspaceInfo.OwnerName);

if (pendingSets.Length > 0)
{
    var allPendingChanges = pendingSets[0].PendingChanges;
}

...

这些是命名空间:

using Microsoft.TeamFoundation.Client;
using Microsoft.TeamFoundation.VersionControl.Client;
于 2014-01-23T14:06:21.733 回答