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

使用Nativescript构建iOS应用报xcodebuild退出码65错误如何解决?

NativeScript iOS 构建 exit code 65 报错解决方案

问题成因梳理

报错包含三类问题:

  • 多个第三方Pod库的最低部署目标设置为8.0,低于当前Xcode支持的最低版本9.0
  • IQMediaPickerController库引用了已更名的废弃系统框架MobileCoreServices
  • Xcode 12+新增的架构校验规则,对同时包含iOS设备和模拟器架构的通用框架抛出警告,最终触发构建失败

修复步骤

1. 配置Pod钩子统一处理Pod项目设置

你之前修改platforms目录下配置不生效是正常的,因为NativeScript每次构建都会重生成platforms目录下的内容,所有自定义配置都要放到App_Resources/iOS目录下才会持久生效。
在你已创建的App_Resources/iOS/Podfile文件末尾添加以下post_install脚本:

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      # 统一所有Pod的最低部署版本为9.0,匹配Xcode支持范围
      config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '9.0'
      # 修复IQMediaPickerController的框架引用错误
      if target.name == 'IQMediaPickerController'
        config.build_settings['OTHER_LDFLAGS'] ||= ['$(inherited)']
        config.build_settings['OTHER_LDFLAGS'] << '-framework CoreServices'
        config.build_settings['OTHER_LDFLAGS'] -= ['-framework MobileCoreServices']
      end
    end
  end
end

2. 关闭Xcode架构校验

在App_Resources/iOS目录下新建(如果已有则直接编辑)build.xcconfig文件,添加以下配置:

EXCLUDED_ARCHS[sdk=iphonesimulator*] = arm64
VALIDATE_WORKSPACE = NO

该配置会跳过模拟器的arm64架构校验,同时关闭通用框架的架构校验规则,避免TNSCore、TNSSideDrawer这类双架构框架触发构建错误。

3. 清理缓存重新构建

执行以下命令清理所有临时文件后重新构建即可:

ns clean
rm -rf platforms/ios node_modules
npm install
# 构建生产包执行
ns build ios
# 运行到模拟器执行
ns run ios

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 22:45:08