2012-06-14 4 views
5

iOSアプリケーションをカスタマイズするための最良の方法を探しています。そのため、簡単にホワイトラベルのバージョンを作成して同期させることができます。iOSスタティックライブラリのホワイトラベルアプリケーション用コードベース

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

私の同僚はEclipseのAndroid Sisterプロジェクトでこのアプローチを成功裏に使用しています。

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

xcodeでこの方法を使用する方法はありますか、各プロジェクトのコードベースフォルダを参照するほうがいいですか?

編集:

は、もともと私は各プロジェクトからのコードベースのフォルダを参照することを計画したが、このアプローチは、すべてのプロジェクトでの再追加するコードベースディレクトリのファイルが削除/追加された各時間が必要になることが判明しました/コードベースで改名されました。

答えて

4

私は白いラベル付きアプリを行っています。あなたはまず目標を試してみるべきです。ターゲットはプロジェクト内に含まれています。ソースは同じプロジェクトに含めることができます。変化するすべてを少数のファイルに置き、各ターゲットに含めるファイルを変更します。

ファイルがすべてターゲットに含まれていることを確認する必要がありますが、メッセージが表示されたり、リンクエラーが表示されたり、ファイルを見逃していてもチェックボックスをチェックしています。

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

参考文献:

+0

ありがとうございます。ターゲットが最善のアプローチになるようです。 – RohinNZ

2

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

3

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

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

あなたが見たいかもしれない別のものはCocoaPodsです。私はそれを使用していないが、友人がいる - 彼らはlib管理に役立つので、彼らはそれが好きです - 特に1つの開発環境から別の環境に行くと。私は誰もが対処するZxingパスの混乱のために来月使用する必要があります。

https://github.com/CocoaPods/CocoaPods

最終勧告 - 明日がないようにソースコントロールを使用!

+1

CocoaPodsは素晴らしいですね!各ホワイトラベルビルドターゲットをポッドライブラリにリンクするだけで、ライブラリを追加または削除するときに、ホワイトラベルの各ビルドターゲットを手動で更新する心配がなくなりました。ありがとう! – RohinNZ

関連する問題