5

iOSアプリをカスタマイズして、ホワイトラベルバージョンを簡単に作成し、すべての同期を維持できるようにするための最良のアプローチを探しています。

1つのアプローチは、コードベース全体を静的ライブラリプロジェクトに配置することです。次に、メインアプリとホワイトラベルアプリごとに個別のプロジェクトを作成します。これらのプロジェクトにはそれぞれ、サブプロジェクトとしてのコードベースライブラリへの参照と、アイコン、画像の読み込み、Info.plistファイルなどの独自のアセットが含まれます。

私の同僚は、EclipseのAndroid姉妹プロジェクトでこのアプローチをうまく使用しました。

残念ながら、このアプローチはxcodeでは機能しない可能性があります。xcodeでは、必須のSettings.bundleやLocalizable.stringsなど、一部のリソースを静的ライブラリにバンドルできないようです。

xcodeでこのアプローチを使用する方法はありますか、それとも各プロジェクトからコードベースフォルダーを参照する方がよいでしょうか?

編集:

当初、私は各プロジェクトからコードベースフォルダーを参照することを計画していましたが、このアプローチでは、ファイルがコードベースで追加/削除/名前変更されるたびに、すべてのプロジェクトでコードベースディレクトリを再追加する必要があることがわかりました。

4

3 に答える 3

4

ホワイトラベルのアプリを作成しました。最初にターゲットを試す必要があります。ターゲットはプロジェクトに含まれています。同じプロジェクトにソースを含めることができます。変化するすべてのものをほんの数個のファイルに入れ、各ターゲットに含めるファイルを変化させます。

ファイルがすべてのターゲットにあることを確認する必要がありますが、プロンプトが表示されるか、リンクエラーが発生します。ファイルを見逃した場合は、チェックボックスをオンにするだけです。

ターゲット固有のファイルをかなり制限しておくことができます。共通のxcassetsファイルとターゲットごとに1つあります。また、ターゲットごとに個別のplistとその他のリソースがいくつかあります。他のすべては共有されます。

参照:

于 2012-06-14T06:13:38.523 に答える
3

有料コンサルティングプロジェクトとして、会社のホワイトレーベル戦略を見直しています。彼らは、ビルド全体を新しい名前にコピーする一連の.shファイルを作成しました-新しい.plistとプロジェクトファイルを含みます。

彼らが説明しなかったのは、それらのアプリのバージョン管理です。したがって、アプリをそのように構築できるのであれば、ライブラリが最善のアプローチだと思います。同じホワイトラベルアプリの複数のバージョンがある可能性は十分にあります。(せいぜい悪夢!!!笑)

あなたが見たいかもしれないもう一つのことはCocoaPodsです。私はそれを使用していませんが、特にある開発環境から別の開発環境に移動する際に、lib管理に役立つので気に入っている友人がいます。誰もが対処するZxingパスの混乱のため、来月使用する必要があります。

https://github.com/CocoaPods/CocoaPods

最後の推奨事項-明日がないようにソース管理を使用してください!!!

于 2012-10-18T23:08:39.520 に答える
2

リソースを静的ライブラリに自動的にバンドルすることはできませんが、共有リソースを手動で含めることを妨げるものは何もありません。カスタマイズしたプロジェクトのワークスペースを作成し、ライブラリのプロジェクトをワークスペースに挿入してから、リソースグループをライブラリのプロジェクトツリーからメインプロジェクトにドラッグできます。

于 2012-06-14T06:48:18.523 に答える