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

React Native生产环境真机部署遇DYLD加载OpenSSL框架失败求助

解决React Native应用真机上OpenSSL.framework加载失败的问题

针对你遇到的DYLD error: Library not loaded: @rpath/OpenSSL.framework/OpenSSL错误,结合模拟器正常、真机归档后异常的情况,可按以下方向排查:

  • 确认Embedded Content的嵌入方式
    检查General -> Frameworks, Libraries, and Embedded Content中OpenSSL.framework的选项,必须设置为Embed & Sign,而非Do Not Embed。真机环境下未签名的框架无法被加载,模拟器对签名要求更宽松,这是常见的差异点。

  • 验证OpenSSL库的架构完整性
    打开终端,进入OpenSSL.framework所在目录,执行命令:

    lipo -info OpenSSL.framework/OpenSSL
    

    输出需包含arm64(真机架构)和x86_64(模拟器架构)。如果缺少arm64,说明你使用的OpenSSL-Universal包不包含真机架构,需要重新下载或编译支持全架构的版本。

  • 检查Runpath Search Paths配置
    进入Targets -> Build Settings,搜索Runpath Search Paths,确保包含以下路径:

    @executable_path/Frameworks
    @loader_path/Frameworks
    

    真机构建时,@rpath需要正确指向应用内的Frameworks目录,缺失这些路径会导致系统找不到框架文件。

  • 排查构建优化导致的引用丢失
    在Build Settings中搜索Dead Code Stripping,确保Release(生产构建)模式下该选项设置为NO。部分情况下,编译器会误判CPP调用的OpenSSL代码为无用代码,在归档时剥离相关引用,导致框架无法被正确加载。

  • 确认Pod依赖的配置(若使用CocoaPods)
    如果是通过Pod引入OpenSSL-Universal,检查Podfile中是否添加了正确的配置:

    pod 'OpenSSL-Universal'
    

    执行pod install后,重新打开Xcode工程,确保Pod生成的Target中OpenSSL已被正确嵌入。有时手动添加框架会和Pod的配置冲突,建议优先通过Pod管理依赖。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 09:52:09