Error code 65 ,这种情况 90% 是 缓存(Cache) 或者 临时文件冲突 导致的。
Error 65 是 Xcode 最"不负责任"的报错,它的意思是:"我编译失败了,但我懒得在命令行里告诉你具体原因。"
请按以下顺序排查,通常第一步或第二步就能解决:
第一步:用 Xcode 查看"真凶" (最推荐)
命令行看不出具体错误,但 Xcode 的图形界面可以看到。
-
打开项目目录下的
ios文件夹。 -
双击
项目.xcworkspace(白色的图标)。 -
确保顶部设备选的是你的 iPhone。
-
点击左上角的 ▶ (运行) 按钮。
-
等待失败: Xcode 会报错停止。
-
看左侧导航栏: 点击那个 红色感叹号/叉号 图标。
-
看右侧详情: 你会看到具体是哪一行报错了。
- 如果是 Signing 错误: 重新登录账号或重新选 Team。
- 如果是文件丢失: 说明 Pods 没装好。
第二步:清理 Xcode 构建缓存 (最快尝试)
既然上午能行,说明代码大概率没问题,是 Xcode 的中间文件坏了。
- 在 Xcode 窗口中。
- 按下快捷键:
Command (⌘) + Shift + K(或者菜单栏 Product -> Clean Build Folder)。 - 等待清理完成(顶部提示 Clean Succeeded)。
- 再次点击 ▶ 运行。
第三步:删除 DerivedData (深度清理)
如果第二步没用,那是 Xcode 的深层缓存坏了(DerivedData 经常出这种问题)。
-
关闭 Xcode。
-
打开终端,运行这行命令(直接删除缓存文件夹):
Bashrm -rf ~/Library/Developer/Xcode/DerivedData -
重新运行
npx expo run:ios --device。
第四步:重置原生依赖 (万能修复)
如果上面都无法解决,可能是 node_modules 或 Pods 里的文件连接断了。用 Expo 的命令重置一下:
-
在项目根目录运行:
Bash# 这一步会删除 ios 文件夹并重新生成,非常干净 npx expo prebuild --clean -
重新运行:
Bashnpx expo run:ios --device
为什么会这样?
- USB 连接波动: 编译过程中数据线松了一下,导致传输一半的文件损坏。
- 锁屏: 编译安装时,如果手机锁屏了,有时候会导致安装失败(Error 65 也包含安装失败)。建议编译时保持手机屏幕常亮。
- 签名过期: 免费个人签名的有效期很短,有时候 Xcode 认为证书还有效,但实际上已经过时了,需要清理后重新生成。
大概率是 Xcode 抽风了,试一下"第二步"通常就好了。