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

React Native集成Clay SDK遇VirgilCrypto加载失败问题求助

React Native集成Clay SDK启动报错:dyld Library not loaded @rpath/VirgilCrypto.framework/VirgilCrypto

问题背景

在React Native 0.71.6 + React 18.2.0环境下集成Clay SDK,已完成Pod配置并成功构建,但App启动时触发以下错误:

dyld[49561]: Library not loaded: @rpath/VirgilCrypto.framework/VirgilCrypto

VirgilCrypto是Clay SDK的依赖库,已尝试手动添加该Pod、取消架构排除、清理Derived Data并重新集成Pods等操作,问题仍未解决。

可行解决方案步骤

1. 锁定VirgilCrypto依赖版本

在Podfile中明确指定与Clay SDK兼容的VirgilCrypto版本(建议使用5.11.0版本,适配多数Clay SDK版本):

pod 'VirgilCrypto', '~> 5.11.0'
pod 'ClaySDK', :git => 'https://gitlab.com/claysolutions/public/clay-sdk.git'

执行命令重新安装Pods:

cd ios
pod deintegrate
pod install --repo-update

2. 配置Xcode框架搜索路径

打开Xcode项目,进入App目标的Build Settings:

  • 找到Framework Search Paths,添加以下路径并设置为Recursive:
    $(PROJECT_DIR)/Pods/VirgilCrypto
    $(PROJECT_DIR)/Pods/ClaySDK
    

3. 确保框架正确嵌入并签名

在Xcode的General标签页,进入Frameworks, Libraries, and Embedded Content:

  • 检查VirgilCrypto.framework和ClaySDK.framework是否存在,若没有则点击+按钮,从Pods/Products目录中添加
  • 将两个框架的嵌入方式设置为Embed & Sign

4. 修复Runpath搜索路径

在Build Settings中找到Runpath Search Paths,确保包含以下路径:

@executable_path/Frameworks
@loader_path/Frameworks

这两个路径是动态库加载的核心路径,缺失会导致找不到依赖框架。

5. 彻底清理并重新构建

执行以下命令清理缓存:

rm -rf ~/Library/Developer/Xcode/DerivedData
cd ios
pod clean
pod install

回到Xcode,选择Product > Clean Build Folder,再重新构建运行App。

6. 调整架构兼容性设置

进入Build Settings > Architectures:

  • 设置Architectures为$(ARCHS_STANDARD)
  • 若在模拟器运行,取消Exclude Architectures中的arm64选项;若为真机则保留默认设置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 08:35:01