uni-app IOS 自定义打包后出现白屏问题

uni-app IOS 自定义打包后出现白屏问题

开发环境信息

信息
产品分类 uniapp/App
PC开发环境 Windows
PC开发环境版本 Windows10 专业版
HBuilderX类型 正式
HBuilderX版本 3.2.12
手机系统 iOS
手机系统版本 iOS 12.0
手机厂商 苹果
手机机型 iphoneXR
页面类型 vue
打包方式 离线
项目创建方式 HBuilderX

示例代码

测试 将编译出来的 app-service.js 中 出现 INTLIFY_PROD_DEVTOOLS 地方 进行判断 ```typeof INTLIFY_PROD_DEVTOOLS !== “undefined”

添加后可使用

操作步骤

发送app本地包


### 预期结果

不会白屏

实际结果

白屏


### bug描述

IOS 自定义打包 使用 VUE-i18n 打包后白屏 查看ios报错 `INTLIFY_PROD_DEVTOOLS` is not defined

更多关于uni-app IOS 自定义打包后出现白屏问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于uni-app IOS 自定义打包后出现白屏问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html


白屏问题通常由 INTLIFY_PROD_DEVTOOLS 未定义引起,这是 Vue I18n 在生产环境下可能出现的环境变量问题。以下是解决方案:

  1. 检查 Vue I18n 配置:确保在 vue.config.js 或项目配置中正确设置了环境变量。添加以下配置:

    // vue.config.js
    module.exports = {
      chainWebpack: config => {
        config.plugin('define').tap(args => {
          args[0]['__INTLIFY_PROD_DEVTOOLS__'] = false;
          return args;
        });
      }
    };
    
  2. 自定义条件编译:在代码中显式定义该变量,避免未定义错误。在入口文件(如 main.js)中添加:

    if (typeof __INTLIFY_PROD_DEVTOOLS__ === 'undefined') {
      window.__INTLIFY_PROD_DEVTOOLS__ = false;
    }
    
  3. 更新依赖版本:检查 vue-i18n 和相关插件版本,确保使用稳定版本(如 vue-i18n@9.x)。运行:

    npm update vue-i18n
    
  4. 清理构建缓存:删除 node_modulesdistunpackage 目录,重新安装依赖并打包:

    rm -rf node_modules unpackage
    npm install
回到顶部