uni-app真机运行ios14打开白屏并且控制台报错
uni-app真机运行ios14打开白屏并且控制台报错
[JS Framework] Failed to execute the callback function:
```cpp
TypeError: undefined is not an object (evaluating 'a.$vm.__call_hook') __ERROR

更多关于uni-app真机运行ios14打开白屏并且控制台报错的实战教程也可以访问 https://www.itying.com/category-93-b0.html
1 回复
更多关于uni-app真机运行ios14打开白屏并且控制台报错的实战教程也可以访问 https://www.itying.com/category-93-b0.html
该错误通常是由于iOS 14系统对JavaScriptCore引擎的严格模式处理与uni-app框架不兼容导致的。具体表现为应用启动时白屏,控制台报错“undefined is not an object (evaluating ‘a.$vm.__call_hook’)”。
主要原因:
- iOS 14的JavaScriptCore引擎在严格模式下对
arguments.callee等非标准特性支持有变化。 - uni-app框架底层部分代码(如Vue运行时)可能依赖这些特性,导致调用栈异常。
解决方案:
- 更新HBuilderX到最新版本:确保使用最新版开发工具,官方通常已修复此类兼容性问题。
- 检查Vue版本配置:在
manifest.json中确认Vue版本为3(Vue 3对严格模式兼容性更好)。若使用Vue 2,建议升级项目至Vue 3。 - 禁用严格模式:在项目根目录创建
vue.config.js文件,添加以下配置:module.exports = { chainWebpack: (config) => { config.module.rule('js').use('babel-loader').tap(options => { options.plugins = options.plugins || []; options.plugins.push(['@babel/plugin-transform-modules-commonjs', { strictMode: false }]); return options; }); } };

