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

从Intel Mac迁移到M2 Mac后,NativeScript真机运行报错求助

解决NativeScript迁移到M2 Mac后iOS真机运行NSURLSessionConfiguration未定义错误

问题场景

将旧Intel Mac的数据迁移到新M2 Mac后,NativeScript应用在iOS真机执行ns run ios --device 0000000000时抛出致命错误:

NativeScript encountered a fatal error:
  Error calling module function
  ReferenceError: NSURLSessionConfiguration is not defined
  File: (file: app/webpack:/redacted-app/webpack/bootstrap:27:0)
  StackTrace:
        ./node_modules/@nativescript/core/http/http-request/index.ios.js(file: app/webpack:/redacted-app/node_modules/@nativescript/core/http/http-request/index.ios.js:15:0)
        at __webpack_require__(file: app/webpack:/redacted-app/webpack/bootstrap:24:0)
        ...(省略部分栈信息)

应用在模拟器运行正常,旧Mac环境下无异常,直接通过Xcode运行也出现相同错误。

解决方案

1. 彻底清理缓存

  • 清理NativeScript项目缓存:
    ns clean
    
  • 清理Xcode衍生数据:
    打开Xcode → 顶部菜单Xcode→Settings→Locations→ 点击Derived Data右侧箭头,删除当前项目对应的文件夹
  • 清理npm缓存:
    npm cache clean --force
    

2. 更新NativeScript核心依赖

确保核心依赖适配arm64架构,执行:

npm install @nativescript/core@latest

同时检查package.json中所有NativeScript相关插件(如@nativescript/ios等),更新至最新稳定版本。

3. 修正Xcode架构配置

打开项目的iOS工程文件(路径:platforms/ios/[你的应用名称].xcodeproj):

  • 选中项目Target → Build Settings → 搜索Architectures,设置为Standard Architectures (arm64, x86_64)
  • 搜索Excluded Architectures,确保真机配置(Any iOS Device (arm64))下未排除arm64

4. 重建iOS平台

先移除现有iOS平台,再重新添加构建:

ns platform remove ios
ns platform add ios
ns run ios --device 0000000000

5. 排查第三方插件兼容性

如果项目使用了第三方NativeScript插件,检查插件是否支持arm64架构:

  • 查看插件的npm页面或代码仓库,确认是否有适配M2 Mac的更新
  • 若插件未更新,尝试替换为兼容的替代插件,或向插件仓库提交适配需求

原因说明

迁移到M2 Mac后,原Intel环境下的缓存文件、编译产物与arm64架构不兼容,导致NativeScript无法正确映射iOS原生API(如NSURLSessionConfiguration);部分旧版本依赖未适配arm64,也会引发此类原生API未定义错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 08:30:21