您的位置:首页 > 移动开发

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"]];

关于这个网上有好多,需要的可以自己搜索一下,这里就不再重复。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  app 界面 应用 ios开发 ios