iOS 9 - 为照片请求相机授权
Posted
技术标签:
【中文标题】iOS 9 - 为照片请求相机授权【英文标题】:iOS 9 - Request Camera authorisation for photos 【发布时间】:2015-10-07 10:15:38 【问题描述】:我有一个需要能够拍照(不是视频)的应用程序。我正在网上寻找如何检测用户是否已授予相机权限。
过了一会儿,我发现你可以使用AVAuthorizationStatus
来解决这个问题。但是,在 Apple 文档中它说:
使用除 AVMediaTypeVideo 以外的任何媒体类型调用此方法或 AVMediaTypeAudio 引发异常。
那如果我想拍照呢?我怎么做?没有AVMediaTypePhoto
,我也无法找出如何以任何其他方式授权相机访问。
这是我在网上找到的授权示例代码,但如果你只是想拍照,我不知道它是否有效。
#import <AVFoundation/AVFoundation.h>
AVAuthorizationStatus status = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];
if(status == AVAuthorizationStatusAuthorized) // authorized
else if(status == AVAuthorizationStatusDenied) // denied
else if(status == AVAuthorizationStatusRestricted) // restricted
else if(status == AVAuthorizationStatusNotDetermined) // not determined
[AVCaptureDevice requestAccessForMediaType:AVMediaTypeVideo completionHandler:^(BOOL granted)
if(granted) // Access has been granted ..do something
else // Access denied ..do something
];
更新 1
我也在研究phphotoLibrary
框架,但它只提供对照片库的访问,而不是相机。
【问题讨论】:
是的,它会起作用的。您在实际设备中尝试过上述代码吗? @MidhunMP Ahhh....我太傻了...我在模拟器上测试这个。刚刚在真正的 iDevice 上进行了测试,它可以工作。谢谢。 【参考方案1】:对于 ios 9,您应该在 Info.plist 中输入您的应用名称和键:“Bundle Display Name”。
感谢https://***.com/a/32880876/4628777
改变这个
Info.plist
到这里
Info.plist
【讨论】:
感谢有人可以帮我将网址更改为图片。【参考方案2】:是的,我的问题中的代码确实有效,我只是愚蠢地在 iOS 模拟器上而不是在真正的 iDevice 上测试它......我想我需要喝咖啡休息时间 :)
【讨论】:
【参考方案3】:在 iOS 9 的 Info.plist 中设置 CFBundleDisplayName = "AppName"
【讨论】:
plist 在哪里?我输入了它,它更正为“捆绑显示名称”。我认为它是一样的以上是关于iOS 9 - 为照片请求相机授权的主要内容,如果未能解决你的问题,请参考以下文章