首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS 9-要求相机授权拍摄照片

iOS 9-要求相机授权拍摄照片
EN

Stack Overflow用户
提问于 2015-10-07 10:15:38
回答 3查看 2.9K关注 0票数 4

我有一个应用程序,需要能够拍照(而不是视频)。我在网上查找,以了解如何检测用户是否已授予相机许可。

过了一会儿,我发现您可以使用AVAuthorizationStatus来解决这个问题。然而,苹果的文档上却写着:

使用AVMediaTypeVideo或AVMediaTypeAudio以外的任何媒体类型调用此方法将引发异常。

那如果我想拍张照片呢?我该怎么做?这里没有AVMediaTypePhoto,我也无法找到以任何其他方式授权相机访问的方法。

这是我在网上找到的授权示例代码,但如果你只想拍照,我不知道它是否有效。

代码语言:javascript
复制
#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框架,但它只提供了对照片库的访问,而不是对相机的访问。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-10-07 10:49:29

是的,我问题中的代码确实有效,我只是在iOS模拟器上测试它,而不是在真正的iDevice上测试.我想我需要休息一下咖啡:)

票数 1
EN

Stack Overflow用户

发布于 2016-01-21 10:17:06

使用iOS 9,您应该在Info.plist中输入您的应用程序名,键为:"Bundle Display Name“。

多亏了这个https://stackoverflow.com/a/32880876/4628777

改变这个

Info.plist

到这个

Info.plist

票数 2
EN

Stack Overflow用户

发布于 2015-11-17 12:47:04

设置CFBundleDisplayName = "AppName" in Info.plist for iOS 9

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32989614

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档