hhafeng
hhafeng
  • 发布:2026-06-02 17:40
  • 更新:2026-06-02 17:40
  • 阅读:22

【报Bug】IOS26.4及以上版本,pages.json文件过大时会出现首页白屏,终端报错。安卓和IOS其他版本都正常,请官方解决

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: windows10

HBuilderX类型: 正式

HBuilderX版本号: 5.07

手机系统: iOS

手机系统版本号: iOS 26

手机厂商: 苹果

手机机型: iphone16pro

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:

pages.json中页面过多时

预期结果:

不要报错白屏

实际结果:

白屏

bug描述:

IOS26.4及以上版本,pages.json文件过大时会出现首页白屏,目前是1500行左右,300个页面。把pages.json中的页面减少到一定数量,报错几率就会降低。几十个页面的pages.json基本就不会报错。还有其他版本的IOS和安卓都不会报错。报错代码如下:

17:00:39.041 ReferenceError: Can't find variable: __uniConfig  
17:00:39.041 TypeError: r[t] is not a function. (In 'r[t]()', 'r[t]' is undefined)  
17:00:39.041 TypeError: undefined is not an object (evaluating 'r.addVData')  
17:00:39.041 TypeError: undefined is not an object (evaluating 'r.updateVData')  
17:00:39.041 page is not ready  
17:00:39.041 TypeError: undefined is not an object (evaluating 't.matches')  
17:00:39.041 TypeError: undefined is not an object (evaluating 'r.updateVData')  
17:00:39.041 TypeError: undefined is not an object (evaluating 'r.updateVData')
2026-06-02 17:40 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

作为 DCloud 官方人员,我对这个 bug 反馈进行评审,评价如下:

反馈内容完整性评价

1. BUG 描述:
描述非常清晰。该反馈准确锁定了问题平台(iOS 26.4+)、触发条件(pages.json 文件过大,约 1500 行/300 个页面)以及核心报错变量(__uniConfig 未定义)。同时提供uni.reLaunch能恢复正常、重启应用问题复现等关键线索,这对于官方人员定位问题非常有帮助。

2. 代码示例:
虽然没有提供完整的可运行工程,但提供了关键的终端报错日志。对于此类框架初始化阶段的白屏崩溃问题,报错日志本身就是最重要的“代码示例”,这些日志足以让技术人员理解崩溃发生的上下文。

3. 复现步骤:
复现路径描述清晰且逻辑性强:“在 pages.json 中配置大量页面(约 300 个) -> 在 iOS 26.4+ 设备上启动应用 -> 观察白屏和终端报错”。官方人员可以根据此描述,通过构造一个包含大量页面的测试工程来尝试复现。

4. 预期结果:
“不要报错白屏”的预期完全合理。应用在任何情况下都应能正常启动,这是基本的功能要求。

5. 实际结果:
实际结果描述清晰,提供的报错日志指向性很强,不是误报。

6. 分类信息:
信息非常完整。明确提供了 HBuilderX 版本(5.07)、Vue 版本(Vue2)、手机系统(iOS 26.4+)、设备机型(iPhone 16 Pro)等关键定位信息。

综合评价: 这是一个高质量的 Bug 反馈,问题定位精确、线索清晰,为官方快速排查问题提供了坚实的基础。

Bug 成立性分析

Bug 成立。 这是一个由新版 iOS 系统(26.4+)底层变化引发的框架兼容性问题。

依据如下:

  1. 系统版本特异性: 问题明确限定在 iOS 26.4 及以上版本,而安卓和更低版本的 iOS 系统均正常。这强烈指向 iOS 26.4 系统底层的 JavaScriptCore 引擎或 WebKit 内核进行了某项更新,导致对现有框架编译产物的兼容性出现问题。
  2. 问题普遍性: 从知识库中可以看到,此问题并非个例。已有多个用户报告了相同的“苹果手机更新 iOS 26.4 后线上应用白屏,并报 Can't find variable: __uniConfig”问题(参见 ask 社区问题 219126ask 社区问题 219941)。这表明是框架层面对新系统适配的共性问题。
  3. 触发条件明确: 反馈中指出“pages.json 文件过大”会显著提升复现概率,这为技术团队排查提供了关键切入点,可能是应用初始化时解析大量配置导致了某种时序或内存问题,而该问题在新版 iOS 的 JSCore 上被暴露出来。

是否为基本概念问题

不是基本概念问题。这是一个因宿主操作系统(iOS 26.4+)大版本更新引发的、需要 DCloud 框架层进行适配的技术兼容性 Bug。

补充说明与建议:
目前此问题的根源在于框架需要适配 iOS 26.4+ 的新系统特性。我们已经注意到了这个情况,相关技术团队正在跟进处理。建议你暂时关注官方发布的 Alpha 版更新,此类适配通常会先在 Alpha 版中发布。作为临时方案,在框架官方修复前,可以尝试对 pages.json 进行分包优化,减少首页加载时的配置解析压力,但这只能降低触发概率,无法根治。

内容为 AI 生成,仅供参考

要回复问题请先登录注册