如何查找通过SPM添加到Swift iOS项目的Framework的相对搜索路径
SPM包相对搜索路径配置方案
- 无需手动计算适配所有设备的相对路径,直接使用Xcode提供的内置构建变量即可,该变量会在构建时自动解析为对应环境的正确路径,不存在本机适配问题。
- 你需要用到的核心变量为
${SOURCE_PACKAGES_PATH},该变量默认指向当前项目对应DerivedData下的SourcePackages根目录。 - 你要配置的amplify-ios包搜索路径直接填写为
${SOURCE_PACKAGES_PATH}/checkouts/amplify-ios即可,如果需要递归扫描该目录下的所有Framework,可以配置为${SOURCE_PACKAGES_PATH}/checkouts/amplify-ios/**。
如果确实需要手动查询相对于项目目录的搜索路径,可按以下步骤操作:
- 打开终端进入你项目的根目录(即*.xcodeproj或*.xcworkspace所在目录)
- 执行命令
xcodebuild -showBuildSettings | grep SOURCE_PACKAGES_PATH,获取当前项目SourcePackages目录的绝对路径 - 用终端的
realpath命令计算相对路径,示例命令如下:
realpath --relative-to=./ <你上一步拿到的SOURCE_PACKAGES_PATH>
注意:手动计算的相对路径包含DerivedData的随机生成后缀,Xcode重置DerivedData、清理构建缓存后路径会失效,不推荐硬编码使用,优先选择内置变量方案。
内容的提问来源于stack exchange,提问作者alionthego
相关产品推荐
相关产品推荐

