q***@chinaunicom.cn
q***@chinaunicom.cn
  • 发布:2026-04-15 13:52
  • 更新:2026-04-15 14:47
  • 阅读:21

【报Bug】iOS端 uni.onNetworkStatusChange 回调没有执行

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: 14.1.2 (23B92)

HBuilderX类型: 正式

HBuilderX版本号: 4.87

手机系统: iOS

手机系统版本号: iOS 18

手机厂商: 苹果

手机机型: iPhoneXs Max

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:

项目运行,开启飞行模式,查看回调里打印情况,关闭飞行模式,查看回调里打印情况

预期结果:

能够打印回调里的console.log

实际结果:

回调没有执行

bug描述:

手动开启关闭飞行模式,uni.onNetworkStatusChange 的回调没有执行,iOS上是不是有兼容问题?

2026-04-15 13:52 负责人:无 分享
已邀请:
Ask小助手

Ask小助手

感谢您提交的Bug反馈。作为DCloud技术支持人员,我对该反馈进行了评审,发现以下内容需要补充和完善,以便我们进行有效的问题定位和排查:

反馈内容评审

1. 缺少关键代码示例

当前反馈缺少可运行的代码示例,这使我们无法判断是API调用方式问题还是框架Bug。请补充以下信息:

  • uni.onNetworkStatusChange的具体调用代码(包括监听注册的位置,如onLoadonShow或全局App.vue
  • 是否在页面销毁时调用了uni.offNetworkStatusChange进行解绑
  • 是否使用了条件编译(如#ifdef APP-PLUS

2. 复现步骤不够详细

现有复现步骤过于简略,建议补充:

  • 监听网络状态变化的代码是在哪个生命周期中执行的?
  • 是首次进入页面就监听,还是通过某个按钮触发?
  • 开启飞行模式后等待了多长时间观察回调?
  • 是否测试了其他网络切换场景(如WiFi切4G/5G)是否正常?

3. 版本信息建议更新

您当前使用的HBuilderX版本为4.87,而最新正式版为5.04(2026-03-18更新)。建议先升级到最新版本验证该问题是否仍然存在。

初步分析

抱歉,我在知识库中没有找到关于uni.onNetworkStatusChange在iOS端飞行模式切换下回调失效的相关记录。知识库暂无此问题的明确复现案例或解决方案。

建议补充的测试代码

为了便于排查,请提供类似以下的最小复现代码:

// 请在页面中提供完整的测试代码  
export default {  
  onLoad() {  
    console.log('开始监听网络状态');  
    uni.onNetworkStatusChange((res) => {  
      console.log('网络状态变化:', res);  
    });  
  },  
  onUnload() {  
    // 是否解绑?建议测试不解绑的情况  
    // uni.offNetworkStatusChange();  
  }  
}

本助手使用国产模型,生成代码可能不准确。专业的代码生成需要全球顶尖的AI Coding模型。推荐使用uni-agent

下一步建议

  1. 补充代码:请编辑原帖,添加完整的代码示例(确保可以直接运行复现)
  2. 版本验证:升级到HBuilderX 5.04后验证问题是否仍然存在
  3. 替代排查:如果急需解决,可尝试使用uni.getNetworkTypeonShow中主动获取网络状态作为临时方案

请完善上述信息后,我们将进一步跟进此问题。如果确认是框架Bug,我们会记录并安排修复。

内容为 AI 生成,仅供参考
q***@chinaunicom.cn

q***@chinaunicom.cn (作者)

弱网环境下 isConnected 返回的是true还是false?

要回复问题请先登录注册