uni 您所在的位置:网站首页 iphone的蜂窝移动网络打开是空白 uni

uni

2024-07-13 05:29| 来源: 网络整理| 查看: 265

iOS 10之后首次安装App只要请求网络都会有这个提示。

图片1.png

由于uni-app首页是动态化的,通过接口请求返回数据布局,如果停留几秒在点击无线局域网与蜂窝网络后,但是由于没有授权,所以接口无数据返回。所以出现了白屏。期初以为是uni的锅,后来调研后发现是iOS之后所有App都有这样的问题。

Android

Android首次网络请求,点击允许后才会往后面执行,所以Android并没有这个问。

iOS

ios 没有任何操作也会往后面执行,所以在没有授权网络的情况下是没有数据返回的。那么就针对iOS容错处理。

容错处理方式1

首次iOS写一个原生插件给uni

代码语言:javascript复制#import //获取网络权限 - (void)checkNetworkPermissions{ CTCellularData *cellularData = [[CTCellularData alloc] init]; // 状态发生变化时调用 cellularData.cellularDataRestrictionDidUpdateNotifier = ^(CTCellularDataRestrictedState restrictedState) { switch (restrictedState) { case kCTCellularDataRestrictedStateUnknown: NSLog(@"蜂窝移动网络状态:未知"); break; case kCTCellularDataRestricted: NSLog(@"蜂窝移动网络状态:关闭"); break; case kCTCellularDataNotRestricted: NSLog(@"蜂窝移动网络状态:开启"); break; default: break; } }; }

uni端轮询来获取权限,如果获取网络权限为开启的状态那么就网络请求刷新页面。如果轮询假设5次之后还是没有权限,此时可能用户点击了不允许。所以轮询5次后还是没有权限就提示用户进行网络设置,这些就iOS提供原生插件给uni调用就可以了。

代码语言:javascript复制[[UIApplication sharedApplication]openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString] options:@{} completionHandler:^(BOOL success) { }];容错处理方式2

进入首页什么都不做,只要网络请求没有数据返回就显示无网络的式样,加一个按钮,让用户自己做刷新操作。操作的时候在判断权限,如果用户能点击按钮。那说明要么用户允许网络了。要么用户点击不允许。所以 此时在判断一下网络权限。如果有权限请求刷新。没有权限提示做设置。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有