IOS 开发值网络权限和跳转系统的指定界面
在开发中APP 首次安装的时候,会弹出一个是否允许APP 访问网络的弹框,有部分用户,习惯性的拒绝,进入app 之后就是一直无网络,用户也不知道是什么情况,我们开发人员也容易被坑到,下面说重点
1.0 网络权限
引入头文件 @import CoreTelephony;
CTCellularData*cellularData = [[CTCellularData alloc] init];
cellularData.cellularDataRestrictionDidUpdateNotifier = ^(CTCellularDataRestrictedStatestate){//获取联网状态
switch(state) {
casek CTCellularDataRestricted:
NSLog(@"Restricrted");
break;
casek CTCellularDataNotRestricted:
NSLog(@"Not Restricted");
break;
case kCTCellularDataRestrictedStateUnknown:
NSLog(@"Unknown");
break;
default:
break;
};
查询应用是否有联网功能
ALAuthorizationStatus status = [ALAssetsLibrary authorizationStatus];
switch (status) {
case ALAuthorizationStatusAuthorized:
NSLog(@"Authorized");
break;
case ALAuthorizationStatusDenied:
NSLog(@"Denied");
break;
case ALAuthorizationStatusNotDetermined:
NSLog(@"not Determined");
break;
case ALAuthorizationStatusRestricted:
NSLog(@"Restricted");
break;
default: break;
}
3.0 app 的跳转在网上看了几个,都一样
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=WIFI"]];
有时你会发现跳转不了啊,没有关系,用这个
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"App-Prefs:root=WIFI"]];
把里面的url 稍微进行修改一下
在项目中的info中添加 URL types
添加 URL Schemes 为 prefs的url
prefs:root=General&path=About
prefs:root=General&path=ACCESSIBILITY
prefs:root=AIRPLANE_MODE
prefs:root=General&path=AUTOLOCK
prefs:root=General&path=USAGE/CELLULAR_USAGE
prefs:root=Brightness //打开Brightness(亮度)设置界面
prefs:root=Bluetooth //打开蓝牙设置
prefs:root=General&path=DATE_AND_TIME //日期与时间设置
prefs:root=FACETIME //打开FaceTime设置
prefs:root=General //打开通用设置
prefs:root=General&path=Keyboard //打开键盘设置
prefs:root=CASTLE //打开iClound设置 prefs:root=CASTLE&path=STORAGE_AND_BACKUP //打开iCloud下的储存空间
prefs:root=General&path=INTERNATIONAL //打开通用下的语言和地区设置
prefs:root=LOCATION_SERVICES //打开隐私下的定位服务
prefs:root=ACCOUNT_SETTINGS
prefs:root=MUSIC //打开设置下的音乐
prefs:root=MUSIC&path=EQ //打开音乐下的均衡器
prefs:root=MUSIC&path=VolumeLimit //打开音乐下的音量
prefs:root=General&path=Network //打开通用下的网络
prefs:root=NIKE_PLUS_IPOD
prefs:root=NOTES //打开设置下的备忘录设置
prefs:root=NOTIFICATIONS_ID //打开设置下的通知设置
prefs:root=Phone //打开电话设置 prefs:root=Photos //打开设置下照片和相机设置 prefs:root=General&path=ManagedConfigurationList //打开通用下的描述文件
prefs:root=General&path=Reset //打开通用下的还原设置
prefs:root=Sounds&path=Ringtone
prefs:root=Safari //打开设置下的safari设置
prefs:root=General&path=Assistant //打开siri不成功
prefs:root=Sounds //打开设置下的声音设置
prefs:root=General&path=SOFTWARE_UPDATE_LINK //打开通用下的软件更新
prefs:root=STORE //打开通用下的iTounes Store和App Store设置
prefs:root=TWITTER //打开设置下的twitter设置
prefs:root=FACEBOOK //打开设置下的Facebook设置
prefs:root=General&path=USAGE //打开通用下的用量
prefs:root=VIDEO
prefs:root=General&path=Network/VPN //打开通用下的vpn设置
prefs:root=Wallpaper //打开设置下的墙纸设置 prefs:root=WIFI //打开wifi设置
prefs:root=INTERNET_TETHERING
参考自 作者BearsG - iOS 跳转到系统指定设置界面
参考自 作者:Jack_lin - iOS开发中的这些权限,你搞懂了吗?