2017-06-07 5 views
0

私は自分のプロジェクトでXamarinソリューションを調べています。Xamarin whitelabel apps

プロジェクトの要件は以下のとおりです。

  • IOSアプリ、

  • Androidアプリ、

  • MacOSのアプリ、

  • のWindows 7,8,10アプリ。

私はすでにMvvmCrossに基づいてテストソリューションを構築していますが、正常に動作します。

質問:私のテストソリューションに基づいているすべてのプラットフォームでwhitelabelアプリケーションを構築するにはどうすればよいですか? これらのアプリケーションでは、文字列、アイコン、フォントなどのリソースのみを変更しますが、ロジック、ビュー、UIは同じになります。

gradle in android(build variants)のようなやり方はありますか?

答えて

2

MSBuildには多くの機能があり、確かにgradleのビルドバリエーションに似たものを実現できます。しかし、もしあなたがMSBuildのバックグラウンドを持っていなければ、そのものに飛び込むのは複雑です。

私は、これは簡単にアプローチ(と私はどうなる)かもしれないと思う:

  • 使用したプロジェクト共有プロジェクト(またはPCL)内のすべてのクロスプラットフォームのコードをキープ
  • すべてを整理する
  • 各プラットフォームの共有プロジェクトにすべてのWindows、iOS、Android固有のコードを保存する
  • 共有プロジェクトを参照して、アプリのフレーバー/プラットフォームごとにスタートアッププロジェクトを作成します。必要に応じて、アプリのフレーバーごとにプリプロセッサの定義を追加します。

スタートアッププロジェクトでは、異なる文字列リソースやイメージなどを含めることができます。Visual Studio/Xamarin Studioで「ファイルリンク」を使用する方法については、こちらを参照してください。特に、アプリのさまざまなフレーバーがさまざまな方法で変化する場合は特にそうです。

+0

あなたが正しく理解すれば、私の構造は ソリューションコア - > Androidライブラリ - > WhiteLabel Androidプロジェクトのようになります。 ライブラリには、すべてのアプリ機能、whitelabelプロジェクトから注入できるすべてのリソースが含まれますか? –

+1

はい、別のファイルを入れ替えたり、#ifなどを使って物を変更することができます。 – jonathanpeppers

関連する問題