美文网首页
IOS开发之APP如何跳转到系统设置界面

IOS开发之APP如何跳转到系统设置界面

作者: pentakill | 来源:发表于2023-03-16 11:18 被阅读0次

在 IOS开发中有时候会遇到这样一个需求,当 APP 中需要获取使用相机/相册等系统的权限时,而用户第一次却没有授权,当用户再次进入时,我们则需要提示用户去开启权限,并且直接跳到系统的设置界面授权。

方法有2种 

一、直接在跳转按钮的点击事件方法中添加如下代码

NSURL*url = [NSURLURLWithString:UIApplicationOpenSettingsURLString];if([[UIApplicationsharedApplication] canOpenURL:url]) {    [[UIApplicationsharedApplication] openURL:url];}

造成这种情况一般是在错的线程中执行了某些操作,解决办法是采用延时机制

dispatch_after(0.2, dispatch_get_main_queue(), ^{NSURL*url = [NSURLURLWithString:UIApplicationOpenSettingsURLString];if([[UIApplicationsharedApplication] canOpenURL:url]) {        [[UIApplicationsharedApplication] openURL:url];    }});

二、 

1.先在跳转按钮的点击事件方法中添加如下代码,iOS10之后有变化,所以要添加一个判断

NSURL*url = [NSURLURLWithString:@"App-Prefs:root=WIFI"];if([[UIApplicationsharedApplication] canOpenURL:url]){if([[UIDevice currentDevice].systemVersiondoubleValue] >=10.0) {        [[UIApplicationsharedApplication] openURL:url options:@{} completionHandler:nil];    }else{        [[UIApplicationsharedApplication] openURL:url];    }}

2.然后在项目中的info.plist中添加 URL types 并设置一项URL Schemes为prefs,如下图:

注意:String 字段那里@”App-Prefs:root=WIFI”,iOS10以下的版本可以不加“ App-”,但 iOS10以上的版本要加,不然跳转不了。

这里演示的是跳转至系统的 WIFI 界面,当然你也可以修改字符串,跳到相应的设置界面

@"App-prefs:root=WIFI" //打开WiFi

@"App-prefs:root=Bluetooth" //打开蓝牙设置页

@"App-prefs:root=AIRPLANE_MODE" //打开飞行模式

@"App-prefs:root=MOBILE_DATA_SETTINGS_ID" //蜂窝移动网络

@"App-prefs:root=INTERNET_TETHERING" //个人热点

@"App-prefs:root=NOTIFICATIONS_ID" //通知设置

@"App-prefs:root=General" //通用

@"App-prefs:root=General&path=About" //通用-关于本机     

@"App-prefs:root=DISPLAY&BRIGHTNESS" //显示与亮度

@"App-prefs:root=Wallpaper" //墙纸

@"App-prefs:root=Sounds" //声音

@"App-prefs:root=Privacy" //隐私

@"App-prefs:root=STORE" //存储

@"App-prefs:root=NOTES" //备忘录

@"App-prefs:root=SAFARI" //Safari

@"App-prefs:root=MUSIC" //音乐

@"App-prefs:root=Photos" //照片与相机

@"App-prefs:root=CASTLE" //iCloud

@"App-prefs:root=FACETIME" //FaceTime

@"App-prefs:root=LOCATION_SERVICES" //定位服务

@"App-prefs:root=Phone" //电话

//通用下常用字段

@"prefs:root=General&path=About" //关于本机

@"prefs:root=General&path=SOFTWARE_UPDATE_LINK" //软件更新

@"prefs:root=General&path=DATE_AND_TIME" //日期和时间

@"prefs:root=General&path=ACCESSIBILITY" //辅助功能

@"prefs:root=General&path=Keyboard" //键盘

@"prefs:root=General&path=VPN" //VPN设置

@"prefs:root=General&path=AUTOLOCK" //自动锁屏

@"prefs:root=General&path=INTERNATIONAL" //语言与地区

@"prefs:root=General&path=ManagedConfigurationList" //描述文件

//隐私下常用字段

@"prefs:root=Privacy&path=CAMERA" //设置相机使用权限

@"prefs:root=Privacy&path=PHOTOS" //设置照片使用权限

oot=Privacy&path=PHOTOS"//设置照片使用权限

相关文章

网友评论

      本文标题:IOS开发之APP如何跳转到系统设置界面

      本文链接:https://www.haomeiwen.com/subject/ggarrdtx.html