iOS设备上NativeScript应用崩溃:Xcode报“无法显示堆栈帧文件”错误
NativeScript iOS真机启动崩溃:无法定位NativeScript.mm文件
问题详情
用NativeScript开发的iOS应用,在iPhone真机上通过Xcode构建运行后立刻崩溃,调试器报错:
Can't show file for stack frame : <DBGLLDBStackFrame: 0x34c61c120> - stackNumber:15 - name:-[NativeScript runMainApplication]. The file path does not exist on the file system: /Users/runner/work/ios/ios/NativeScript/NativeScript.mm
模拟器运行完全正常,问题仅出现在真机环境。
已尝试操作
- 执行清理构建(
Shift + Command + K),排除旧构建缓存干扰 - 确认模拟器运行正常,缩小问题范围到真机构建环节
环境参数
- Xcode:16.2
- NativeScript:8.8.3
- iOS设备:iPhone 14(iOS 18.3)
解决方案尝试
重置NativeScript iOS平台
错误路径指向CI环境的默认目录(GitHub Actions的/Users/runner/work/ios/ios/),说明本地构建的运行时符号表可能异常。执行以下命令重新安装iOS平台:ns platform remove ios ns platform add ios@8.8.3确保本地生成的运行时文件路径与调试器预期一致。
调整Xcode构建与调试配置
- 打开Xcode项目的Build Settings,搜索
Debug Information Format,将真机Debug配置设为DWARF with dSYM File - 找到
Enable Bitcode选项,设置为No(NativeScript 8.x对Bitcode的支持不完善,iOS 18新版本更容易触发兼容问题) - 关闭
Parallelize Build选项(Build Options下),避免并行构建导致符号表生成混乱
- 打开Xcode项目的Build Settings,搜索
检查设备签名与权限
- 确认Xcode中使用的开发者证书和Provisioning Profile有效,且已正确关联到当前设备
- 在iPhone的「设置-通用-VPN与设备管理」中信任开发者证书,确保应用能正常获取系统运行权限
适配新版本系统与工具
iOS 18.3和Xcode 16.2属于较新的版本,NativeScript 8.8.3可能存在适配缺口:- 升级NativeScript到最新的8.x补丁版本(如8.8.4及以上),修复已知的iOS 18适配问题
- 检查NativeScript官方仓库的issue列表,确认是否有同款问题的临时补丁可用
内容的提问来源于stack exchange,提问作者Xaypanya Phongsa
相关产品推荐
相关产品推荐

