iOS模拟器权限被拒绝且未显示权限提示对话框

6

我正在使用iOS模拟器,并且在请求权限方面遇到了问题。

我的应用程序之前能够正常工作并可以访问照片库、相机和位置服务。但是,在安装新的XCode(8.1)后,我在模拟器上运行应用程序时,应用程序不再被允许使用照片库或相机或位置服务。

我尝试通过编程方式请求权限,但它没有显示权限请求对话框,并且始终返回拒绝状态,即使我添加了隐私说明和捆绑显示名称。


运行设置应用程序。进入您的应用程序的设置页面。启用权限。 - rmaddy
@rmaddy 很抱歉,我无法在设置页面上看到我的应用程序。 - Castor
@KiritModi 谢谢您的建议,但如果我们不在info.plist中添加权限,应用程序将崩溃。我已经添加了它们,但根本没有显示权限警报。:( - Castor
你是说你的应用程序根本没有出现在“设置”中吗?甚至在“隐私”下面也没有?任何成功安装并具有正确使用密钥的应用程序都应该显示在那里。可能存在回归问题。如果您提交一个雷达并附上一个示例项目,我们可以看一下。 - russbishop
@russbishop 这只是一个简单的代码,用于展示照片库。 - Castor
3个回答

12

我找到了问题所在。这是因为你的 Xcode 没有放在应用程序文件夹中。将 Xcode 移动到此文件夹中即可解决问题。


@jackyang 只需将 Xcode 应用程序移动到应用程序文件夹即可。您的应用程序仍将正常工作。 - Castor

1
确保你的.plist文件看起来像这样。
<key>NSCameraUsageDescription</key>
<string>This app needs access to the camera to take photos.</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>This app needs access to photos.</string>

同时,如果您在限制中禁用了对照片库隐私的任何更改,您的应用程序将无法使用您的照片库(甚至不会请求权限),直到您关闭限制。


-3

尝试删除 ~/Library/Developer/CoreSimulator/Devices/xxxxx-xxx-xxxx 中的模拟器,并从其他机器复制一个新的


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接