将现有iOS应用程序项目拆分为静态库和应用程序外观项目

时间:2013-07-31 20:24:04

标签: ios objective-c xcode

我想将现有的iOS应用程序项目拆分为一个静态库和一个应用程序项目。

由于现有的应用程序项目已多次复制到具有不同资源(图形,图标等)和设置的全新实例中。

我发现核心项目更新后很难在不同的实例之间进行维护。

所以我将核心项目变成了一个包含模型,视图和第三方库的静态库。

另一个项目包含仅包含自定义资源和应用设置的应用部分。

问题是静态库中的类如何从应用程序项目和主应用程序项目调用库中的类来获取应用程序设置。

任何良好的做法和工具?

1 个答案:

答案 0 :(得分: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协议或类似协议,可以提供给静态库任何需要它的调用的库。您的协议可以为应用程序拥有的任何已知属性定义getter / setter。

@protocol ApplicationSettings

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

@end

然后,您可以静态配置此对象的实例,也可以提供需要它的每个静态库方法:

- (void)someStaticLibraryMethodWithArg:(NSString *)arg settings:(id<ApplicationSettings>)settings { ... }