【问题标题】:split an existing iOS app project into static library and app skin project将现有的 iOS 应用项目拆分为静态库和应用皮肤项目
【发布时间】:2013-07-31 20:24:04
【问题描述】:

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

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

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

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

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

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

有什么好的做法和工具吗?

【问题讨论】:

    标签: ios objective-c xcode


    【解决方案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 { ... }
    

    【讨论】:

    • 使用 applicationSettings 是个好主意。我猜想获取图标和资源的方法相同吗?
    猜你喜欢
    • 1970-01-01
    • 2011-07-18
    • 2011-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-25
    • 1970-01-01
    相关资源
    最近更新 更多