You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Xcode 9.3编译真机项目时出现dyld框架加载错误求助

解决iOS真机编译成功但运行提示dyld: Library not loaded: @rpath/Agrume.framework/Agrume的问题

我之前在真机调试时也碰到过一模一样的问题——编译明明显示成功,但一运行就弹出这个找不到框架的错误,核心原因基本都是框架没有正确嵌入到App包中,或者dyld的搜索路径配置出了问题。给你几个一步步排查的解决方案:

  • 第一步:确认框架的基础添加逻辑正确
    先打开项目导航栏,看看Agrume.framework是不是真的存在于项目结构里。如果是手动拖入的框架,当初添加时一定要勾选Copy items if needed,并且在弹出的窗口里选中你的App目标(Target),确保框架和项目完成绑定,而不是只在Build Settings里填了个路径。

  • 第二步:检查Build Phases的Embed Frameworks配置(关键!)
    很多人只配置了Link Binary With Libraries,但真机运行必须把框架嵌入到App包中:

    1. 选中你的项目 -> 切换到Build Phases标签页
    2. 找到Embed Frameworks(如果没有这个阶段,点击左上角的+按钮选择New Copy Files Phase,然后把阶段名称改成Embed Frameworks)
    3. 点击阶段里的+号,选择Agrume.framework添加进去
    4. 将框架的Embed属性设置为Embed & Sign(iOS 13及以上版本推荐,旧版本可选Embed Without Signing,但签名问题可能引发其他报错)
  • 第三步:验证Build Settings中的路径配置

    1. 打开Build Settings,搜索Framework Search Paths,确保里面包含Agrume.framework所在的文件夹路径。比如框架放在项目根目录的Frameworks文件夹下,就添加$(PROJECT_DIR)/Frameworks,并设置为Recursive(递归搜索)
    2. 搜索Runpath Search Paths,确认里面包含@executable_path/Frameworks和@loader_path/Frameworks,这两个是dyld加载框架的默认路径,要是被误删了一定要加回来
  • 第四步:清理缓存并重建项目
    有时候编译缓存会导致奇怪的残留问题,执行以下操作:

    1. 按Cmd+Shift+K清理项目
    2. 按Cmd+Option+Shift+K清理整个构建文件夹
    3. 关闭Xcode,重新打开后再编译运行
  • 额外检查(如果用CocoaPods管理框架)
    如果你是通过CocoaPods引入的Agrume,先确认Podfile里有没有正确声明这个库,然后执行pod deintegrate彻底移除Pods配置,再重新执行pod install,确保Pods项目的配置和主项目完全同步。

  • 最后:确认框架支持真机架构
    手动下载的框架可能只有模拟器架构,用终端进入框架所在目录,执行命令:

    lipo -info Agrume.framework/Agrume
    

    输出结果里要包含arm64(当前真机的主要架构),如果只有x86_64那就是纯模拟器版本,需要重新下载支持真机的框架包。

内容的提问来源于stack exchange,提问作者kjeraska

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:21:57