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

Xcode持续报错:arm64架构下符号未找到,请求排查解决

解决Xcode中arm64架构下GVR符号未找到的错误

symbol(s) not found for architecture arm64.
arm64架构下的未定义符号:
"_gvr_set_default_viewer_profile", 引用自:
_GvrCardboardHelpers_SetViewerProfile_m5325167020DC962236959852F91D9C553C51216D 在 Bulk_Assembly-CSharp_0.o中
_GvrCardboardHelpers_gvr_set_default_viewer_profile_m07028866FB149E1AC5CECE15964D0B9EE8A6CA97 在 Bulk_Assembly-CSharp_0.o中
(也许您指的是:_GvrCardboardHelpers_gvr_set_default_viewer_profile_m07028866FB149E1AC5CECE15964D0B9EE8A6CA97)
"_gvr_get_time_point_now", 引用自:
_AndroidNativeKeyboardProvider_gvr_get_time_point_now_m06805997F8027305F0BD844EDD089F6EAC7536EB 在 Bulk_Assembly-CSharp_0.o中
_AndroidNativeKeyboardProvider_UpdateData_mA2A2F254C6FA0B2037353C0419FC438E985E3E01 在 Bulk_Assembly-CSharp_0.o中
(也许您指的是:_AndroidNativeKeyboardProvider_gvr_get_time_point_now_m06805997F8027305F0BD844EDD089F6EAC7536EB)
"_gvr_reset_tracking", 引用自:
_GvrCardboardHelpers_Recenter_m99630154B89B72845D010213CA5A263D3969058D 在 Bulk_Assembly-CSharp_0.o中
_GvrCardboardHelpers_gvr_reset_tracking_m787C501547F2AF315F6CB1F8DDA59F7FCD9032AF 在 Bulk_Assembly-CSharp_0.o中
(也许您指的是:_GvrCardboardHelpers_gvr_reset_tracking_m787C501547F2AF315F6CB1F8DDA59F7FCD9032AF)
ld: symbol(s) not found for architecture arm64

嘿,这个问题我前阵子刚踩过坑!本质上是Xcode在编译arm64架构的App时,找不到Google Cardboard(GVR)相关的原生库符号,下面是几个亲测有效的解决步骤:

1. 检查GVR原生库的架构支持

首先得确认你引入的GVR库(不管是.a静态库还是.framework框架)是否包含arm64架构。打开终端,用lipo命令检查:

lipo -info /路径/到/你的/gvr/库文件

如果输出里没有arm64,那说明这个库本身不支持arm64,要么换一个兼容arm64的版本,要么自己重新编译GVR源码生成包含arm64的库。

2. 确认Unity的构建设置(从错误文件看是Unity导出的项目)

如果你是从Unity导出的Xcode项目,先回到Unity里检查Player Settings:

  • 切换到iOS平台
  • 在Other Settings的Architecture选项里,选择ARM64(不要选Universal或者仅ARMv7)
  • 重新导出Xcode项目,避免因为Unity导出时的架构不匹配导致问题

3. 调整Xcode的Build Settings

打开导出的Xcode项目,进入Build Settings面板:

  • 找到Architectures,确保设置为arm64
  • 找到Valid Architectures,确认里面包含arm64(如果这个选项没显示,可能需要在Xcode的Build Settings右上角勾选All和Combined)
  • 找到Linking下的Other Linker Flags,检查是否有正确的GVR库链接参数,比如-lgvr或者对应库的名称,有时候Unity导出会漏掉这个,手动加上试试

4. 清理缓存后重建

Xcode的缓存经常会搞出奇怪的问题,先做这几步:

  • 按下Cmd+Shift+K清理Build Folder
  • 点击Xcode顶部菜单的Xcode→Preferences→Locations,找到Derived Data,点击旁边的箭头打开文件夹,删除对应项目的Derived Data文件夹
  • 重启Xcode,然后重新Build项目

5. 检查GVR插件版本兼容性

如果你用的是Unity的GVR插件,确保插件版本和你的Unity版本兼容,并且是支持arm64的最新版本。旧版本的GVR插件可能没有适配arm64架构,更新插件后再重新导出试试

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 05:10:35