iOS APP跳转设置界面以及设置中的其他界面

来源:互联网 发布:苹果手机主题软件 编辑:程序博客网 时间:2024/05/17 15:17

iOS APP跳转设置界面以及设置中的其他界面

 

1、跳转设置总页面(iOS10+以及之前的都可以用:ios10+ 是跳转到了应用到设置界面)

[[UIApplication sharedApplication]openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString] ];

iOS10之前到在文章最后边;iOS10之后的方法

MobileCoreServices.framework里的私有API


在iOS10之后,苹果对APP权限问题更加重视!这个时候要实现跳转,就需要使用“ MobileCoreServices.framework ”里的私有API了。(我自己目前只找到这个办法...)

其主要是使用了这个方法:

- (BOOL)openSensitiveURL:(id)arg1 withOptions:(id)arg2;


MobileCoreServices.frameworkAPI里面的查看“LSApplicationWorkspace.h”的URL地址:https:
//github.com/JaviSoto/iOS10-Runtime-Headers/blob/master/Frameworks/MobileCoreServices.framework/LSApplicationWorkspace.h

下载好“iOS10-Runtime-Headers”整个文件,还有其他功能自己可以慢慢使用!! 
“iOS10-Runtime”的地址:https : //github.com/JaviSoto/iOS10-Runtime-Headers


使用时,只需要往工程里拖入“MobileCoreServices.framework”就行了!


拖入私有API成功后!多出的链接库


iOS10的系统URL方案改成了首字母大写,使用小写的方式会无法打开。

 

网上说法:
要先在info.plist的LSApplicationQueriesSchemes项中添加一个Prefs的URL方案。


的plist文件设置【一】

的plist文件设置【二】


求最后⭐️发现不用设置的plist文件也。实现了跳转。
(可能是之前配置了“URL类型”的原因吧!������还希望懂的朋友指点一下!������)


之前配置的“URL类型”

 

在“ - (IBAction)buttonTouch:(UIButton *)sender {} ”里面加上:

//注意⭐️首字母改成了 ⭐️大写,prefs->PrefsNSURL*right_url=[NSURL URLWithString:@"Prefs:root=Bluetooth"];Class LSApplicationWorkspace = NSClassFromString(@"LSApplicationWorkspace");[[LSApplicationWorkspace performSelector:@selector(defaultWorkspace)] performSelector:@selector(openSensitiveURL:withOptions:) withObject:right_url withObject:nil];


环境:iPhone5s(iOS8.1)

效果:
iOS8对私有API并无任何反应


iOS8对私有API无反应


环境:iPhone6s(iOS10.0.1)

效果:
卡顿是因为自己打了断点,不要误解了是使用了私有API的问题〜

原创粉丝点击