在 iOS 中再次显示权限对话框

Show permissions dialog again in iOS

我正在开发一个 iOs 应用程序,使用 Swift 编写,带有相机视图控制器。我第一次启动这个视图控制器时,显示了权限对话框,我允许访问相机和照片库。但是,我在允许库权限时注意到一个问题,我希望能够重现它以修复它……但要做到这一点,我需要重新显示此权限对话框。但是,即使我删除应用程序并重新安装它,我也再也不会出现此权限对话框。

如何重新获取它以便解决我的问题?

您可以进入 Settings -> Privacy -> Camera 并禁用您的应用程序。

我不确定它在 iOS 9 中是否有效,但在 iOS 8 中,系统会在应用程序卸载 24 小时后使隐私设置过期。您可以通过删除应用程序、在“设置”中将时间提前一天然后重新安装应用程序来模拟它。

还有Reset Location & Privacy,但那是全局重置。

没有完美的解决方案

推荐的方法是转到"Settings"应用程序

(General > Reset > Reset Location & Privacy).

但正如您所说,它会重置所有应用程序。

另一种选择是更改应用程序的捆绑包标识符,因此它被视为一个新应用程序,它会再次询问。

第三种选择是删除应用程序,将设备时间向前更改超过 24 小时,然后关闭设备并重新打开。

如果您已越狱,可以在设备上运行这些shell命令来为您的应用重置所有权限对话框:

export bundleIdentifier="com.yourcompany.product"
sqlite3 /private/var/mobile/Library/TCC/TCC.db "DELETE FROM access WHERE client = '${bundleIdentifier}'"