iOS应用编译出现Duplicate LC_RPATH are deprecated警告,求解决办法
解决iOS编译时Duplicate LC_RPATH废弃警告的方案
方案1:清理Xcode目标的重复RPATH配置
- 打开Xcode,选中项目对应的Target
- 切换到Build Settings标签,搜索
Runpath Search Paths - 检查配置列表,若
@executable_path/Frameworks或@loader_path/Frameworks重复出现,或两者同时存在,保留其中一项即可(通常保留@executable_path/Frameworks足以适配多数场景),删除重复条目
方案2:排查第三方依赖与脚本的冗余配置
- 检查Build Phases下的Run Script阶段,若存在手动添加RPATH的脚本(如
install_name_tool -add_rpath类命令),删除重复添加相同路径的命令 - 检查依赖的第三方框架,若框架自身Build Settings中带有重复RPATH配置,尝试更新框架至最新版本,或手动修改其
Runpath Search Paths移除重复项
方案3:通过命令行工具检查并修复
若Xcode配置无异常,可借助终端工具排查二进制文件的RPATH:
- 编译项目后,找到生成的.app包,右键「显示包内容」定位到内部可执行文件
- 执行命令查看当前RPATH列表:
otool -l 可执行文件路径 | grep -A 2 LC_RPATH - 若输出存在重复路径,执行命令删除重复项(操作前建议备份可执行文件):
install_name_tool -delete_rpath '@executable_path/Frameworks' 可执行文件路径
内容的提问来源于stack exchange,提问作者Diponkar Mondal
相关产品推荐
相关产品推荐

