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

将现有iOS应用程序项目拆分为静态库和应用程序外观项目,ios,objective-c,xcode,Ios,Objective C,Xcode,我想将现有的iOS应用程序项目拆分为一个静态库和一个应用程序项目 由于现有的应用程序项目已被多次复制到具有不同资源(图形、图标等)和设置的全新实例中 我发现一旦更新了核心项目,就很难跨不同的实例进行维护 因此,我将核心项目转变为一个静态库,其中包含模型、视图和第三方库 另一个项目包含应用程序部分,该部分仅包含自定义资源和应用程序设置 问题是静态库中的类如何从库中的应用程序项目和主应用程序项目调用类获取应用程序设置 有什么好的实践和工具吗?主应用程序项目可以通过导出的头(.h)文件使用静态库类。我

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

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

我发现一旦更新了核心项目,就很难跨不同的实例进行维护

因此,我将核心项目转变为一个静态库,其中包含模型、视图和第三方库

另一个项目包含应用程序部分,该部分仅包含自定义资源和应用程序设置

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


有什么好的实践和工具吗?

主应用程序项目可以通过导出的头(.h)文件使用静态库类。我建议在这里读一读关于它们的内容:

并在此处创建静态库:

至于为静态库提供特定于应用程序的设置,听起来您的静态库可能需要包含一个
应用程序设置
协议或类似协议,可以为需要它的任何调用提供给静态库。您的协议可以为应用程序拥有的任何已知属性定义getter/setter

@protocol ApplicationSettings

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

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

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

这是应用程序设置的一个好主意。我猜得到图标和资源的方法是一样的?