应用程序无法访问您的照片或视频iOS 9

应用程序无法访问您的照片或视频iOS 9,ios,ios9,Ios,Ios9,当我使用UIImagePicker访问照片库以选择照片时,应用程序有时会显示一个黑屏,有时会显示一个屏幕,显示我必须授予应用程序访问照片的权限。但是当我进入设置->隐私->照片时,那里没有应用程序,在设置中也看不到应用程序。我读到我必须在Info.plist中添加两个值,但它们都不起作用。有没有人运行时出现同样的错误?我正在使用xcode 7、swift 2.0和iOS 9 这是我提示用户访问摄像头的地方 @IBAction func cameraButtonPressed(sender: U

当我使用UIImagePicker访问照片库以选择照片时,应用程序有时会显示一个黑屏,有时会显示一个屏幕,显示我必须授予应用程序访问照片的权限。但是当我进入设置->隐私->照片时,那里没有应用程序,在设置中也看不到应用程序。我读到我必须在Info.plist中添加两个值,但它们都不起作用。有没有人运行时出现同样的错误?我正在使用xcode 7、swift 2.0和iOS 9

这是我提示用户访问摄像头的地方

@IBAction func cameraButtonPressed(sender: UIButton) {

    let actionSheet = UIAlertController(title: nil, message: nil, preferredStyle: UIAlertControllerStyle.ActionSheet)

    let cancelAction = UIAlertAction(title: "Cancel", style: .Default) { (UIAlertAction) -> Void in
        self.dismissViewControllerAnimated(true, completion: nil)
    }

    let cameraAction = UIAlertAction(title: "Take Photo", style: .Default) { (UIAlertAction) -> Void in
        if UIImagePickerController.availableCaptureModesForCameraDevice(.Rear) != nil {
            self.imagePicker.allowsEditing = false
            self.imagePicker.sourceType = UIImagePickerControllerSourceType.Camera
            self.imagePicker.cameraCaptureMode = .Photo
            self.presentViewController(self.imagePicker, animated: true, completion: nil)
        } else {
            self.noCamera()
        }
    }

    let photoLibraryAction = UIAlertAction(title: "Photo Library", style: .Default) { (UIAlertAction) -> Void in
        self.imagePicker.sourceType = UIImagePickerControllerSourceType.PhotoLibrary
        self.presentViewController(self.imagePicker, animated: true, completion: nil)
    }

    actionSheet.addAction(photoLibraryAction)
    actionSheet.addAction(cameraAction)
    actionSheet.addAction(cancelAction)

    self.presentViewController(actionSheet, animated: true, completion: nil)

}

当应用程序Info.plist文件包含一个带有空字符串值的键:“CFBundleDisplayName”时,此问题会出现在iOS 9中

你可以在那里输入你的应用程序名称,它应该可以工作。

在info.plist中,“Bundle display name”字段不能为空

这很简单

进去吧

模拟器->硬件->主页


然后在手机设置->应用程序->现在允许移动开关选项中

对于那些在iOS 10中仍然出现此错误的用户,这是iOS 10中实施的新隐私设置的问题

基本上,在
Info.plist
中,您必须通过设置
隐私-照片库使用说明
键来说明为什么要访问照片库(注意,这可以保留为空白字符串)

更多信息请点击此处:

我意识到这是一个老问题,但我还有一个最后的建议

在尝试了上述建议后,我发现在运行iOS9.3的iPodtouch上仍然存在摄像头、照片、音乐库权限问题。
Settings app>Privacy>Photos
没有列出任何应用程序(也没有
Privacy>Camera
Privacy>Media Library
)。设置应用程序不包含我的应用程序的行,因此客户无法更改我的应用程序的隐私权限


解决方案是打开
设置应用程序>常规>重置
,然后点击
重置位置和隐私
。显然,我的设备的隐私设置不知何故被破坏了。重置后,所有这些问题都得到解决。

对于info.plist中的iOS10

“CbundleDisplayName”输入您的应用程序名称

<key>CFBundleDisplayName</key>
<string>IMS Food-taxi</string> 
CbundleDisplayName
IMS食品出租车
和“NSPhotoLibraryUsageDescription”添加说明

<key>NSPhotoLibraryUsageDescription</key>
<string>you will need to give the app permission to use the Photos.</string>
NSPhotoLibraryUsageDescription
您需要授予应用程序使用这些照片的权限。

如果您看到此屏幕,可能有以下原因和解决方案:

1.如果您没有获得访问权限警报。

解决方案:1。添加CbundleDisplayName及其值作为应用程序标题或任何您想要的内容。 2.在info.plist文件中添加NSPhotoLibraryUsageDescription

2.检查您的设置->隐私->照片,隐私被禁用或启用。

解决方案:为照片启用隐私

3.如果您正在使用模拟器,并且已经添加了CbundleDisplayName,则无法获取照片访问警报。


隔离:确保您使用的Xcode必须位于应用程序文件夹中才能获取权限访问警报。

您的应用程序是否确实请求访问权限?@ChrisSlowik它实际上不显示请求权限的对话框您在代码中告诉它了吗?我在问你做了什么。您没有给出任何迹象表明您实际上正在执行请求访问所应执行的操作,因此很难说是哪里出了问题。如果你没有告诉你的应用程序请求许可,那就是你的问题。否则,您可能会遇到另一个问题。您会说:“这是我提示用户访问摄像头的地方”。我说在哪里?我没有看到任何提示进入摄像头的代码。我问了一个类似的问题,有更多的细节,但仍然没有弄清楚:我已经搜索这个答案很久了。谢谢谢谢,这就解决了!无法让它在这里工作。。。。它只是第一次请求许可。添加了Bundle显示名称,将其更改为不同的字符串,也为空,删除了应用程序,DerivedData,清理项目,重新启动模拟器。从那以后,我再也不能让它显示弹出对话框了。非常感谢你是我的英雄@鲍尔音乐。您修复了问题吗?请确保您使用的Xcode必须位于应用程序文件夹中才能获得权限访问警报保存我的工作日tkswhat???应用程序文件夹中的哪个XCode与实际的ios设备上发生的事情有关?!它只问我第一次,但如果被拒绝,你再次要求,它将永远不会问。。。