www
iOS と Android のラッパー プロジェクトを持ちながら、phonegap アプリ用のアセット フォルダーの単一のコピーを保持するための賢明でクリーンな方法を誰かが持っていますか?
シンボリックリンクを使って狂ったことができることはわかっていますが、cordova.js
.
また、ビルド スクリプトを作成できることにも気づきましたxcopy
が、それはおそらく私がしなければならないことですが、他の人がどのようなソリューションを使用しているのか疑問に思っていました。
www
iOS と Android のラッパー プロジェクトを持ちながら、phonegap アプリ用のアセット フォルダーの単一のコピーを保持するための賢明でクリーンな方法を誰かが持っていますか?
シンボリックリンクを使って狂ったことができることはわかっていますが、cordova.js
.
また、ビルド スクリプトを作成できることにも気づきましたxcopy
が、それはおそらく私がしなければならないことですが、他の人がどのようなソリューションを使用しているのか疑問に思っていました。
コルドバの推奨アプローチを提供するために編集されました。
Cordova 3.X 以降、このワークフローは新しいCLI ツールでサポートされています。これにより、Cordova プロジェクトを作成し、1 つの/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 開発者が何人かいることは知っています。他にも消費製品があると確信しています(見つけた場合は、この回答を編集してリストしてください!)
共通の「PhoneGap」フォルダーと VS ソリューションがあり、サブディレクトリ「iOS」と「Android」には、プラットフォームごとに個別のコードベースがあり、関連するすべての Xcode と Eclipse ワークスペースがありました。それは、デバイス固有の微調整、またはエミュレーターによるテストであり、簡単に実行できました。
これまでのところ、簡単です。
OS X の問題で、シンボリック リンクを使用しないことにしたと思いますか? よく思い出せません。
当時私は TFS を使用していたので、実行時に TFS 内の保留中の変更を、構成したサブディレクトリにレプリケートするコンソール アプリケーションを作成しました。これは、3 つのコードベースすべてが一緒に更新されることを意味します。この手順は自動化せず、ユーザーがコンソール アプリを実行して変更をレプリケートするかどうかを制御できるようにすることにしました。アプリは、必要に応じて既存のファイルを追加、編集、または削除できました。また、無視するファイルの「ブラックリスト」もありましたcordova.js
。
ノックアップするのにそれほど時間はかかりませんでした。MSDN のドキュメントは合理的 です 。 us/library/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;