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

Image Image


更多关于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’)”。

主要原因:

  1. iOS 14的JavaScriptCore引擎在严格模式下对arguments.callee等非标准特性支持有变化。
  2. uni-app框架底层部分代码(如Vue运行时)可能依赖这些特性,导致调用栈异常。

解决方案:

  1. 更新HBuilderX到最新版本:确保使用最新版开发工具,官方通常已修复此类兼容性问题。
  2. 检查Vue版本配置:在manifest.json中确认Vue版本为3(Vue 3对严格模式兼容性更好)。若使用Vue 2,建议升级项目至Vue 3。
  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;
            });
        }
    };
回到顶部