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

Xcode模拟器报_OBJC_CLASS_$_AppsFlyerLib未定义错误如何解决

错误产生原因
  • AppsFlyer SDK二进制架构缺失:当前使用的AppsFlyer SDK版本未包含对应模拟器的CPU架构切片,尤其是Apple Silicon(M系列)Mac上运行的arm64架构模拟器,旧版SDK仅包含物理设备的arm64架构切片,未适配arm64模拟器,因此真机运行正常,模拟器链接时找不到对应类符号。
  • 构建设置架构过滤规则错误:项目或Pod依赖的构建设置中EXCLUDED_ARCHS字段错误排除了模拟器对应的架构,导致编译阶段没有链接对应模拟器架构的SDK二进制文件。
  • CocoaPods本地缓存损坏:本地缓存的AppsFlyer Pod包存在架构切片丢失的问题,即便执行pod install --repo-update也会复用损坏的缓存包,无法解决问题。
修复方案

方案1:升级AppsFlyer SDK(优先推荐)

将Podfile中AppsFlyerLib的版本指定为6.8.0及以上,该版本开始原生支持Apple Silicon模拟器的arm64架构,修改后执行以下命令更新依赖:
pod update AppsFlyerLib
更新完成后重新构建项目即可。

方案2:配置架构排除规则(适用于无法升级SDK的旧项目)

如果项目暂时无法升级SDK,可以强制模拟器使用x86_64架构运行(通过Rosetta转译兼容):

  1. 打开项目Target → Build Settings → 搜索EXCLUDED_ARCHS
  2. 在Debug模式的「Any iOS Simulator SDK」选项中添加arm64
  3. 在Podfile末尾添加以下配置,避免每次执行pod install覆盖Pod的构建设置:
post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = 'arm64'
    end
  end
end
  1. 执行pod install重新生成项目配置后再构建。

方案3:清理CocoaPods缓存

如果前两种方案无效,先清除本地缓存的AppsFlyerLib包再重新拉取:

  1. 执行命令清理缓存:pod cache clean AppsFlyerLib --all
  2. 再执行pod install --repo-update重新拉取依赖后构建。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 07:57:03