iOS 网络权限管理

news/2024/11/17 20:21:19/

网络权限管理

一、iOS网络情况分类:

  1. 通过App应用设置网络使用权限(关闭、WLAN、WLAN与蜂窝移动网)
  2. 直接设置手机网络情况(飞行模式、无线局域网络、蜂窝移动网络)

二、iOS开发使用到的网络判断类:

  1. AFNetworkReachability或者Reachability来判断网络的可达性,这两个类可以判断网络是否可达,以及可达时网络的类型(WLAN还是蜂窝移动网络);

  2. CTCellularData来判断网络数据是否受限,只有应用网络权限设置为WLAN与蜂窝移动网时,网络数据才会返回不受限;

三、组合关系:

权限飞行模式/关闭网络局域网蜂窝移动网络
关闭不可达-数据受限不可达-数据受限不可达-数据受限
WLAN不可达-数据受限WLAN-数据受限不可达-数据受限
WLAN和蜂窝移动网不可达-数据受限WLAN-数据不受限WLAN-数据不受限

注:关闭网络,及关闭无线局域网和蜂窝移动网络。

四、特殊说明:

  1. 第一次安装应用(之前从未安装过),第一次启动App时,会提示选择网络,选择之后就不会提示选择网络;但有时第一次安装时不出现选择网络,需要在设置中修改任意一个应用的网络权限,然后重启App,就会提示网络(目前没有找到不出现选择网络的原因);

  2. 当网络由可达状态切换到不可达状态后,第一进入App时,系统会提示一次网络权限改变的提示;

  3. 修改网络权限时,App不会重启,这个地方与相册授权不同。相册、相机、麦克风等修改权限后返回时,App会重新启动。

五、代码:

CTCellularData *cellularData = [[CTCellularData alloc] init];
cellularData.cellularDataRestrictionDidUpdateNotifier = ^(CTCellularDataRestrictedState state) {//获取联网权限状态switch (state) {case kCTCellularDataRestricted:NSLog(@"Restricrted");break;case kCTCellularDataNotRestricted:NSLog(@"Not Restricted");break;//未知,第一次请求case kCTCellularDataRestrictedStateUnknown:NSLog(@"Unknown");break;default:break;};};AFNetworkReachabilityManager *mgr = [AFNetworkReachabilityManager sharedManager];
[mgr setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {//获取联网可达状态switch (status) {case AFNetworkReachabilityStatusUnknown:NSLog(@"NetworkingTypeUnknown");break;case AFNetworkReachabilityStatusNotReachable:NSLog(@"NetworkingTypeNotReachable");break;case AFNetworkReachabilityStatusReachableViaWWAN:NSLog(@"NetworkingTypeReachableViaWWAN");break;case AFNetworkReachabilityStatusReachableViaWiFi:NSLog(@"NetworkingTypeReachableViaWiFi");break;default:NSLog(@"NetworkingTypeUnknown");break;}


转载链接:https://www.jianshu.com/p/2d3ef8b72986


http://www.ppmy.cn/news/749984.html

相关文章

iOS 全部访问权限设置

plist文件里面添加,Privacy - Photo Library Usage Description,Value值为描述,弹出的提示框会显示出来。 升到iOS10之后,需要设置权限的有: 麦克风权限:Privacy - Microphone Usage Description 是否允许…

iOS 访问权限设置

iOS 10 以后 NSAppleMusicUsageDescription App需要您的同意,才能访问媒体资料库 NSBluetoothPeripheralUsageDescription App需要您的同意,才能访问蓝牙 NSCalendarsUsageDescription App需要您的同意,才能访问日历 NSCameraUsageDescription App需要您的同意,才能访问相…

iOS权限设置

iOS开发指南: https://www.developboot.com/blog/ 苹果要求权限详细:美图的:使用您的位置来获取您附近的团购信息 麦克风权限: Privacy - Microphone Usage Description 是否允许此App使用您的麦克风? 相册权限: Privacy - Photo …

力扣 78. 子集

题目来源&#xff1a;https://leetcode.cn/problems/subsets/description/ C题解1&#xff1a;递归回溯法。由于是求子集&#xff0c;所以根据nums.size()遍历每个子集的长度&#xff0c;并进行回溯。 class Solution { public:vector<vector<int>> res;vector<…

7.6机试练习

1. 2105 IP Address 描述 Suppose you are reading byte streams from any device, representing IP addresses. Your task is to convert a 32 characters long sequence of ‘1s’ and ‘0s’ (bits) to a dotted decimal format. A dotted decimal format for an IP addres…

车灯线光源的优化设计matlab,车灯线光源的优化设计

车灯线光源的优化设计摘要本题主要以车灯线光源的优化设计为研究对象&#xff0c;在研究过程中建立了线性规化模型&#xff0c;给出算法并利用MATLAB软件求解。针对问题一&#xff0c;首先将线光源长度及其折射面离散化处理&#xff0c;将线光源的散射问题转换为光线间的折射问…

从零实现一款12306抢票软件

写在前面的话 每年逢年过节&#xff0c;一票难求读者肯定不陌生。这篇文章&#xff0c;我们带领读者从零实现一款12306刷票软件&#xff0c;其核心原理还是通过发送http请求模拟登录12306网站的购票的过程&#xff0c;最后买到票。 关于http请求的格式和如何组装http数据包给…

Scatter文件的编写、分析

ARM编程&#xff1a;Scatter文件的编写、分析2009-03-19 18:10今天拿了被同事扔一边的ARM培训资料翻阅&#xff0c;读至scatter一节&#xff0c;发现写得甚是精辟。之前看的很多国人写得文章&#xff0c;未免有简单问题复杂化之嫌。而ARM的RVCT手册又偏冗长&#xff0c;不易让人…