tangheng
tangheng
  • 发布:2026-04-16 11:42
  • 更新:2026-04-16 11:45
  • 阅读:12

【报Bug】iOS 使用 uni-WiFi插件,无法获取当前WiFi名称

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 5.06

手机系统: iOS

手机系统版本号: iOS 26

手机厂商: 苹果

手机机型: iPhone 14

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

getWifiSSID() {
uni.getConnectedWifi({
complete: (res) => {
switch (res.errCode) {
case 12000:
uni.startWifi({});
this.getWifiSSID();
break;
case 12001:
this.$refs.notify.warning(res.errMsg);
break;
default:
console.log(res);
if (res.wifi) this.currentSSID = res.wifi.SSID;
break;
}
}
});
},

"ios" : {
"UIBackgroundModes" : [ "audio" ],
"urlschemewhitelist" : [ "baidumap", "iosamap" ],
"dSYMs" : false,
"privacyDescription" : {
"NSPhotoLibraryUsageDescription" : "使用本地相册功能,用于快速创建信息,通过拍照上传OCR识别功能及用户个人信息上传头像",
"NSCameraUsageDescription" : "使用相机功能,用于快速创建信息,通过拍照上传OCR识别功能及用户个人信息上传头像",
"NSMicrophoneUsageDescription" : "使用麦克风功能,当播放视频、拍摄时会协同用到此功能。我们不会对用户操作做任何处理及使用",
"NSLocationWhenInUseUsageDescription" : "使用位置信息功能,用于快速创建电站信息。设备配网功能,需要获取权限判断是否能快速连接设备进行操作",
"NSLocationAlwaysUsageDescription" : "使用位置信息功能,用于快速创建电站信息。设备配网功能,需要获取权限判断是否能快速连接设备进行操作",
"NSLocationAlwaysAndWhenInUseUsageDescription" : "使用位置信息功能,用于快速创建电站信息。设备配网功能,需要获取权限判断是否能快速连接设备进行操作",
"NSContactsUsageDescription" : "使用通讯录功能,联系我们时可跳转拨号界面。我们不会对用户信息做任何处理及使用",
"NSBluetoothPeripheralUsageDescription" : "使用蓝牙功能,用于设备配网功能。通过蓝牙快速与设备进行配置",
"NSBluetoothAlwaysUsageDescription" : "使用蓝牙功能,用于设备配网功能。通过蓝牙快速与设备进行配置",
"NSLocalNetworkUsageDescription" : "使用本地网络功能,当网络出现冲突时会导致设备配网失败。应用需要监听网络状态从而判断自动连接设备",
"NSRemindersUsageDescription" : "使用提醒事项,用于设备状态信息提醒用户"
},
"idfa" : false,
"capabilities" : {
"entitlements" : {},
"plists" : {}
}
},

操作步骤:

始终复现

预期结果:

返回当前WiFi名称

实际结果:

{
"code": 0,
"errSubject": "uni-wifi",
"userInfo": {},
"message": "",
"errCode": 12010,
"errMsg": "unknown error",
"name": "Error",
"domain": ""
}

bug描述:

ios权限,定位,WiFi全部已开启,之前版本是正常的,今日更新后出现问题

2026-04-16 11:42 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

作为DCloud官方人员,对该bug反馈的评审如下:

反馈信息完整性评估:

  1. 环境信息存在矛盾:手机OS平台填写为"Android",但手机厂商填写为"iPhone",设备机型为"iPhone 14"。这是明显的信息冲突,请明确是Android设备还是iOS设备。根据标题和错误码12010的情况,推测实际应为iOS平台。

  2. 缺少关键配置信息:iOS平台获取WiFi信息有严格的系统要求,反馈中未提供以下关键信息:

    • 是否已在苹果开发者后台开启"Access WiFi information"能力
    • 是否已重新生成profile文件并打包
    • iOS系统具体版本号(仅知设备为iPhone 14)
    • 是否已申请并获取定位权限(iOS 13+必须)
    • 使用的是标准基座、自定义基座还是正式打包
  3. 复现步骤过于简略:"始终复现"未提供具体操作流程,无法判断是否在调用前已完成uni.startWifi初始化、是否已处理权限申请等关键步骤。

  4. 代码示例完整性:代码逻辑存在递归调用风险(case 12000中调用this.getWifiSSID()),且未展示权限申请相关的manifest配置。

问题性质判断:

根据知识库中uni-wifi插件文档的明确说明,iOS平台获取WiFi信息需要:

  1. 必须在苹果开发者后台开启"Access WiFi information"能力:登录苹果开发者网站,在"Certificates, Identifiers & Profiles"页面选择对应App ID,确保开启该能力后重新生成profile文件。

  2. iOS 13及以上系统必须先获取定位权限:调用接口时会触发定位权限申请弹窗,若用户拒绝或未申请,将导致获取失败。

错误码12010(unknown error)在iOS平台通常对应权限或证书配置缺失。建议先检查上述两项配置是否完成,而非插件本身bug。

建议补充的信息:

  • 确认手机平台(iOS/Android)
  • 提供iOS系统版本号
  • 确认是否已配置"Access WiFi information"能力并重新打包
  • 确认是否已获取定位权限(iOS 13+)
  • 提供完整的manifest.json中iOS权限配置片段
  • 说明使用场景(标准基座/自定义基座/正式包)

结论:

该反馈目前不足以认定为有效bug。根据现有信息,更符合iOS权限配置不完整导致的预期行为。建议补充上述配置信息后再次验证,如配置正确仍复现再重新提交。可参考uni-wifi插件使用说明中"App-iOS平台注意事项"章节进行排查。

内容为 AI 生成,仅供参考

要回复问题请先登录注册