如何通过XCConfig文件为Xcode应用目标关联本地Swift包
通过XCConfig自动关联本地Swift包的构建设置
你需要使用以下两个核心构建设置来实现自动化关联本地Swift包:
1. TARGET_LINK_LIBRARIES
这个构建设置对应Target设置中「Frameworks, Libraries, and Embedded Content」里的依赖项,直接声明需要链接的Swift包名称即可。
- 在
Base.xcconfig中配置所有核心模块:# 继承原有配置,添加核心模块依赖 TARGET_LINK_LIBRARIES = $(inherited) CoreAuth CoreNetwork CoreUI - 在目标专属的XCConfig文件中,按需添加功能模块:
# 继承Base配置,追加当前目标需要的功能模块 TARGET_LINK_LIBRARIES = $(inherited) FeaturePayment FeatureSocialLogin
2. FRAMEWORK_SEARCH_PATHS(可选)
如果你的本地Swift包不在Xcode默认的搜索路径下,需要用这个设置指定包的存放路径,确保Xcode能找到这些模块:
FRAMEWORK_SEARCH_PATHS = $(inherited) $(SRCROOT)/LocalPackages/**
$(SRCROOT)代表项目根目录,**表示递归搜索子目录。
额外注意事项
- 确保所有本地Swift包已经被添加到项目中(无需手动关联到目标,XCConfig会自动处理);
- 如果使用动态框架,需在Base配置中添加
EMBEDDED_CONTENT_CONTAINS_SWIFT = YES,保证Swift代码能正确嵌入; - 依赖的传递性会自动处理,比如核心模块依赖的其他包无需重复声明。
内容的提问来源于stack exchange,提问作者tarun_sharma
相关产品推荐
相关产品推荐

