1. 在workspace中管理多个project的方式实现组件化
- 新建workspace,新建或者添加项目工程Project,比如叫Test
- 新建Project比如叫Common,类型选择framework
- Build Settings -> Mach-O Type 选择dynamic library动态库,选择静态库也可以,看需要
- 将通用模块的代码放在Common中,添加需要的系统库,暴露相应的头文件
- 在项目工程Test中,Build Phases -> Link Binary With Libraries中添加+ Common.framework
- 动态库还需要在General -> Embedded Binaries中添加
- 选择项目工程target,运行即可,自动联编Common.framework
2. 如果还想在项目工程中继续使用#import "",双引号的方式引用Common.framework中的头文件
- 在项目工程中Build Settings -> Header Search Paths中添加 $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Common.framework/Headers
- $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)这个路径是framework生成路径,可以自动识别debug还是release,也可以自行修改,在Common的工程中Build Settings->Per-configuration Build Products Path中查看
3. 解决两个静态库中有相同的代码的冲突问题
- 用上述步骤,新建framework Project,将其中一个静态库再包装成一个动态库