如果 info.plist 不包含某些键,如何避免应用程序崩溃?

问题描述

我正在构建一个 SDK,在那里,我需要用户许可来录制音频,并且该用户应该在 info.plist 中添加 Privacy - Microphone Usage Description。我想确保即使密钥没有添加到 info.plist 中,应用程序也不会崩溃,有一些弹出窗口,可以提醒用户在 info.plist 中添加相关密钥。任何帮助将不胜感激。

解决方法

您可以通过阅读info.plist文件,通过波纹管代码检查是否添加了密钥。

if let permission = Bundle.main.object(forInfoDictionaryKey: "NSCameraUsageDescription") as? String {
   print(permission)
}

如果没有权限,我们将不会添加请求代码并显示一些提醒,例如请添加权限。

此外,还有一篇不错的文章可以帮助您在创建构建之前识别缺失的权限。

https://medium.com/rosberryapps/swift-plist-and-two-smoking-scripts-94bb54cbeded