iPhoneconnectWifi的success回调触发错误

微信小程序,微信公开课,iPhoneconnectWifi的success回调触发错误 微信公开课

微信公开课小程序热门讨论关于「iPhoneconnectWifi的success回调触发错误」的小程序开发问题
补充:iPhoneconnectWifi的success回调触发错误
展开:代码逻辑:目的:因为扫码连Wifi(按照官方的步骤,startWIfi=connectWifi且在iOS11+上测试;iOS11上的报错:connectWifi:failtheapiisonlysupportediniOS11orabove;直接被忽略)经测试发现错误率很高,达到了50%甚至60%,因此我打算在错误的回调中埋点进行错误上报,逐个优化;前提:因为社区中有人反馈和实际验证后得知,iOSconnectWifiAPI走到success后,此时可能并未连接上Wifi,因此此时进行下一步的操作不可靠,因此connectWIfi的触发succss回调后,我会用setTimeout延迟100ms,调用getNetworkTypeAPI进行网络状态检测,当发现为不是wifi类型的时候,上报埋点错误信息;有人建议我监听onWifiConnected状态;iPhone可行,但是为非官方建议,不可靠;另外安卓机型在wifi连接成功后,会多次触发onWifiConnected回调,前几次回调BSSID和SSID会为空,最终触发该回调才会有值,奇葩;当前Bug的表现onConnectsuccess回调的时候,并未连接上wifi,100ms后检测wifi类型,仍然是非wifi状态,而且此现象在iPhone的各种机型上(从iPhone6~iPhoneXMax)复现率高达98%,目前100个中只看到两个iPhone7是正常的(即connectWifi的success后100ms检测wifi状态是wifi;预期表现connectWifi的success回调调用的时候,即代表wifi连接成功;请告知,connectWifisuccess回调触发的时候,多久才能真正连上wifi(不要欺骗开发者)复现路径暂无提供一个最简复现DemowxstartWifi({success(){consolelog(初始化wifi成功);wxconnectWifi({BSSID:随便,SSID:wifiName,password:wifiPwd,success(res){consolelog(连接wifi可能成功,res);setTimeout(()={wxgetNetworkType({success(res){consolelog(网络状态:,res);if(resnetworkType!==wifi){if(hasTryConnect){微信返回连接成功,但是检测wifi状态后发现未成功则上报错误}}else{}}});},100);},fail(err){}});},fail(res){}即速小程序:请告知,connectWifisuccess回调触发的时候,多久才能真正连上wifi(不要欺骗开发者)===============================iOS上,connectWifi是调用系统发起连接WiFi请求行为,返回的是发起这个行为的结果连接上WiFi的耗时,取决于你的手机与你的路由器之间连接的速度,不同设备是不一样的之前我一般建议开发者,调用connectWifi后,监听onWiFiConnected事件看是否能成功,并加一个超时的timeout来判定连接失败事件如果是以(不要欺骗开发者)的角度来讲,我也不理解我们有什么理由要欺骗开发者,小程序硬件相关接口都是尽可能系统api的调用与返回结果的,尽可能不因为小程序中间层的封装问题导致硬件开发者的开发不便另附iOS系统对于connectWifi有可能返回的错误情况,有兴趣可以看看*@constNEHotspotConfigurationErrorInvalidTheWiFiconfigurationisinvalid*@constNEHotspotConfigurationErrorInvalidSSIDThegivenSSIDstringisinvalid*@constNEHotspotConfigurationErrorInvalidWPAPassphraseThegivenWPAWPA2Personalpassphraseisinvalid*@constNEHotspotConfigurationErrorInvalidWEPPassphraseThegivenWEPpassphraseisinvalid*@constNEHotspotConfigurationErrorInvalidEAPSettingsInvalidEAPSettings*@constNEHotspotConfigurationErrorInvalidHS20SettingsInvalidHotspot20Settings*@constNEHotspotConfigurationErrorInvalidHS20DomainNameThegivenHotspot20domainnameisinvalid*@constNEHotspotConfigurationErrorUserDeniedFailedtogettheusersapprovaltoaddanewconfiguration*@constNEHotspotConfigurationErrorInternalAninternalerrorwasencountered*@constNEHotspotConfigurationErrorPendingPreviousrequestbythecallingapplicationispending*@constNEHotspotConfigurationErrorSystemConfigurationThecallingapplicationcannotmodifytheSystem(MDMCarrier)configuration*@constNEHotspotConfigurationErrorUnknownAnunknownconfigurationerroroccurred*@constNEHotspotConfigurationErrorJoinOnceNotSupportedJoinOnceoptionisnotsupportforEAPconfiguration*@constNEHotspotConfigurationErrorAlreadyAssociatedWiFiisalreadyassociated*@constNEHotspotConfigurationErrorApplicationIsNotInForegroundTheapplicationisnotintheforeground:麻烦按照教程提供下代码片段(https:developersweixinqqcomminiprogramdevdevtoolsminicodehtml)
更多有关「iPhoneconnectWifi的success回调触发错误」的讨论可以前往微信公开课小程序参与互动哦!了解更多

「iPhoneconnectWifi的success回调触发错误」热门讨论订阅

微信小程序,微信公开课,iPhoneconnectWifi的success回调触发错误
订阅小程序

方法1:微信扫描微信公开课小程序码即可订阅热门讨论「iPhoneconnectWifi的success回调触发错误」

方法2:微信搜索微信公开课小程序名称进入,即可订阅热门讨论「iPhoneconnectWifi的success回调触发错误」

方法3:微信网页访问即速商店,长按识别微信公开课小程序码即可订阅热门讨论「iPhoneconnectWifi的success回调触发错误」

微信公开课小程序热门讨论「iPhoneconnectWifi的success回调触发错误」由微信公开课原创摘录于微信小程序商店shop.jisuapp.cn,转载请注明出处。

微信公开课热门讨论「iPhoneconnectWifi的success回调触发错误」由微信公开课开发者向微信用户提供,并对本服务内容、数据资料及其运营行为等真实性、合法性及有效性承担全部责任。