iOS 从APP跳转至APP的系统设置界面
2016-08-09 19:27
369 查看
现在iOS开发中要使用设备的相册、相机都需要经过本人同意,如果用户未同意使用相机,当需要的时候如何更快的去设置呢,这就需要我们开发的时候就要考虑到位。
下面是我项目中用到的关于相机,相册用到的判断:
一、判断设备相机是否可用:
if ([UIImagePickerControllerisSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
{
// 设备相机可用
}
二、判断设备是否开启相机授权:
AVAuthorizationStatus authStatus = [AVCaptureDeviceauthorizationStatusForMediaType:AVMediaTypeVideo];
if (authStatus ==AVAuthorizationStatusRestricted || authStatus ==AVAuthorizationStatusDenied)
{
// 设备未开启相机授权,需要开启相机授权
}
// 使用上面的方法需要导入头文件
#import <AVFoundation/AVCaptureDevice.h> // 相机
#import <AVFoundation/AVMediaFormat.h> // 相机
/**
AVAuthorizationStatusNotDetermined =0, // 相机授权状态不确定(用户尚未作出选择)
AVAuthorizationStatusRestricted, // 相机授权状态被限制
AVAuthorizationStatusDenied, // 相机不允许被访问
AVAuthorizationStatusAuthorized // 相机允许被访问
*/
三、判断设备是否开启相册授权:
ALAuthorizationStatus status = [ALAssetsLibraryauthorizationStatus];
if (status ==kCLAuthorizationStatusRestricted || status ==kCLAuthorizationStatusDenied)
{
// 设备未开启相册授权,需要开启相册授权
}
// 使用上面的方法需要导入头文件和依赖库
#import <AssetsLibrary/AssetsLibrary.h> // 相册
// 相册也有几种不同的状态
/**
kCLAuthorizationStatusNotDetermined =0,
kCLAuthorizationStatusRestricted,
kCLAuthorizationStatusDenied,
kCLAuthorizationStatusAuthorized
*/
四、从当前APP跳转至当前APP的系统设置页面:
如果项目的相机、相册未被用户授权,需要跳转到当前项目的系统设置界面进行设置
NSURL *url = [NSURLURLWithString:UIApplicationOpenSettingsURLString];
if ([[UIApplicationsharedApplication]
canOpenURL:url]) {
[[UIApplicationsharedApplication]
openURL:url];
}
如果想要直接跳转至系统设置界面的某一页,如WIFI:
[[UIApplication sharedApplication] openURL:[NSURL
URLWithString:@"prefs:root=WIFI"]];
关于这个网上有好多,需要的可以自己搜索一下,这里就不再重复。
下面是我项目中用到的关于相机,相册用到的判断:
一、判断设备相机是否可用:
if ([UIImagePickerControllerisSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
{
// 设备相机可用
}
二、判断设备是否开启相机授权:
AVAuthorizationStatus authStatus = [AVCaptureDeviceauthorizationStatusForMediaType:AVMediaTypeVideo];
if (authStatus ==AVAuthorizationStatusRestricted || authStatus ==AVAuthorizationStatusDenied)
{
// 设备未开启相机授权,需要开启相机授权
}
// 使用上面的方法需要导入头文件
#import <AVFoundation/AVCaptureDevice.h> // 相机
#import <AVFoundation/AVMediaFormat.h> // 相机
/**
AVAuthorizationStatusNotDetermined =0, // 相机授权状态不确定(用户尚未作出选择)
AVAuthorizationStatusRestricted, // 相机授权状态被限制
AVAuthorizationStatusDenied, // 相机不允许被访问
AVAuthorizationStatusAuthorized // 相机允许被访问
*/
三、判断设备是否开启相册授权:
ALAuthorizationStatus status = [ALAssetsLibraryauthorizationStatus];
if (status ==kCLAuthorizationStatusRestricted || status ==kCLAuthorizationStatusDenied)
{
// 设备未开启相册授权,需要开启相册授权
}
// 使用上面的方法需要导入头文件和依赖库
#import <AssetsLibrary/AssetsLibrary.h> // 相册
// 相册也有几种不同的状态
/**
kCLAuthorizationStatusNotDetermined =0,
kCLAuthorizationStatusRestricted,
kCLAuthorizationStatusDenied,
kCLAuthorizationStatusAuthorized
*/
四、从当前APP跳转至当前APP的系统设置页面:
如果项目的相机、相册未被用户授权,需要跳转到当前项目的系统设置界面进行设置
NSURL *url = [NSURLURLWithString:UIApplicationOpenSettingsURLString];
if ([[UIApplicationsharedApplication]
canOpenURL:url]) {
[[UIApplicationsharedApplication]
openURL:url];
}
如果想要直接跳转至系统设置界面的某一页,如WIFI:
[[UIApplication sharedApplication] openURL:[NSURL
URLWithString:@"prefs:root=WIFI"]];
关于这个网上有好多,需要的可以自己搜索一下,这里就不再重复。
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 个人信息安全报告发布:有 APP 每分钟调用位置权限 1468 次
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- 下载量超过一亿的流行应用被发现含有恶意模块
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 100 个最佳 Ubuntu 应用(中)
- 在 AppImage、Flathub 和 Snapcraft 平台上搜索 Linux 应用
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- 苹果与Siri的七年之痒:“宫斗”戏码不断上演
- 24 个必备的 Linux 应用程序
- 注册表趣味应用小集
- 远程控制技术的应用
- 路由器访问列表的应用
- xDSL技术及其应用
- 基于XML的桌面应用
- SQL Server 2008 R2 应用及多服务器管理
- Node.js 应用跑得更快 10 个技巧