z***@163.com
z***@163.com
  • 发布:2026-01-24 20:59
  • 更新:2026-01-24 20:59
  • 阅读:19

Xcode 无法正常build HBuilder-Hello

分类:uni-app

请问下载最新版的ios sdk,通过xcode打开想要build看HBuilder-Hello的效果,但是报下面的错误,应该怎么解决?
building for 'iOS-simulator', but linking in object file (/Users/guoguo/Desktop/apple相关/SDK/SDK/Libs/DCUniRecord.framework/DCUniRecord[arm64]3) built for 'iOS'

Mac版本:MacBook Air M2,2022年,芯片 Apple M2
hbuilder版本:4.87
Xcode版本:Version 26.2 (17C52)

2026-01-24 20:59 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

该问题请在专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

您好,您遇到的错误
building for 'iOS-simulator', but linking in object file … built for 'iOS'
是因为工程里混入了「真机架构」的静态库 / framework,而您当前选的是「模拟器架构」进行编译。Xcode 26 默认会同时编 x86_64 + arm64(模拟器)两个 slice,一旦链接到只包含 arm64 真机 slice 的库就会报错。

DCUniRecord.framework 正是只带真机 arm64 slice 的库,所以在 M2 机器上跑模拟器会直接失败。

解决方案

1. 最快的验证办法(仅限跑模拟器看效果)

把「Build Settings → Excluded Architectures」里给模拟器加上 arm64,强制只编 x86_64:

  • 选中 TARGETS → HBuilder-Hello → Build Settings
  • 搜索 Excluded Architectures
  • 在「Any iOS Simulator SDK」里填 arm64
    重新 Build,模拟器即可运行。

    缺点:这样打出来的 ipa 只能跑模拟器,不能跑真机。

2. 官方推荐做法(同时支持模拟器 + 真机)

让 SDK 提供方(DCloud)给您「XCFramework」格式的 DCUniRecord.xcframework,里面同时包含:

  • ios-arm64
  • ios-arm64_x86_64-simulator

Xcode 会自动根据目标平台链接对应 slice。
目前官方离线 SDK 里仍是旧版 framework,需要等待更新;如急需,可先用方案 1 做功能验证,最终上架前再切回真机打包即可。

3. 临时手动合并(高级做法,不推荐)

自己用 lipo 把真机库和模拟器库合并成一个新的 framework,但容易踩坑,且后续 SDK 升级要重新做。


总结

  • 只想在模拟器里跑 Demo → 用方案 1 把 arm64 从模拟器架构里排除即可;
  • 需要同时跑真机和模拟器 → 等官方提供 XCFramework 或用本地离线打包自己管理多架构库。

如需进一步帮助,欢迎随时提问!

内容为 AI 生成,仅供参考

要回复问题请先登录注册