0

既存の iOS アプリ プロジェクトを 1 つの静的ライブラリと 1 つのアプリ プロジェクトに分割したいと考えています。

既存のアプリ プロジェクトは、さまざまなリソース (グラフィック、アイコンなど) と設定を持つまったく新しいインスタンスに複数回コピーされているためです。

コア プロジェクトが更新されると、異なるインスタンス間で維持するのは難しいと思います。

そのため、コア プロジェクトを、モデル、ビュー、およびサード パーティのライブラリを含む静的ライブラリに変えています。

もう 1 つのプロジェクトには、カスタマイズされたリソースとアプリ設定のみを含むアプリ パーツが含まれています。

問題は、スタティック ライブラリ内のクラスがアプリ プロジェクトからアプリ設定を取得し、メイン アプリ プロジェクトがライブラリ内のクラスを呼び出す方法です。

そのための良い習慣とツールはありますか?

4

1 に答える 1

1

メイン アプリ プロジェクトは、エクスポートされたヘッダー (.h) ファイルを通じて静的ライブラリ クラスを利用できます。ここでそれらについて少し読むことをお勧めします。

http://developer.apple.com/library/ios/#technotes/iOSStaticLibraries/Articles/creating.html

ここで静的ライブラリを作成します。

http://www.icodeblog.com/2011/04/07/creating-static-libraries-for-ios/

アプリ固有の設定を静的ライブラリにApplicationSettings提供することに関しては、静的ライブラリには、それを必要とする呼び出しのために静的ライブラリに提供できるプロトコルなどを含める必要があるようです。プロトコルは、アプリケーションが所有する既知のプロパティのゲッター/セッターを定義できます。

@protocol ApplicationSettings

- (BOOL)isUserReallyAwesome;
- (void)setIsUserReallyAwesome:(BOOL)awesome;

@end

次に、このオブジェクトのインスタンスを静的に構成するか、それを必要とする各静的ライブラリ メソッドに提供することができます。

- (void)someStaticLibraryMethodWithArg:(NSString *)arg settings:(id<ApplicationSettings>)settings { ... }
于 2013-07-31T20:29:32.193 に答える