即使我在 info.plist 中添加了 NSCameraUsageDescription,SwiftUI 应用程序也会崩溃

Posted

技术标签:

【中文标题】即使我在 info.plist 中添加了 NSCameraUsageDescription,SwiftUI 应用程序也会崩溃【英文标题】:SwiftUI Application crashes even though I added NSCameraUsageDescription in info.plist 【发布时间】:2020-04-01 12:42:53 【问题描述】:

我正在使用 Xcode 11.3.1 (11C504) 和 ios 13

我正在使用相机在我的应用上上传照片,应用崩溃并显示以下众所周知的消息:

此应用已崩溃,因为它试图在没有使用说明的情况下访问隐私敏感数据。应用的 Info.plist 必须包含一个带有字符串值的 NSPhotoLibraryUsageDescription 键,向用户解释应用如何使用这些数据。

在我的 info.plist 中添加了 NSCameraUsageDescription,但无论如何我仍然会遇到崩溃。清理了应用程序,删除了应用程序,甚至重新启动了 Xcode,但每次仍然崩溃并显示相同的消息。

这种情况发生在任何人身上吗?有没有人让它工作?我错过了什么吗?

<key>NSPhotoLibraryUsageDescription</key>
<string>This application saves Photos and videos to your library.</string>

【问题讨论】:

【参考方案1】:

如果你想写,将照片保存到你的照片库中,然后你必须在 info.plist 中添加以下键

显然,要解决此崩溃,您必须添加

NSPhotoLibraryAddUsageDescription 到应用程序的 plist 文件中:

<key>NSPhotoLibraryAddUsageDescription</key>
<string>Our application needs permission to write photos...</string>

以下是您可以尝试的方法。

1- 你能检查你的 info.plist 是否正确附加到目标

2- 其次,您确定,错误地您没有添加到测试目标 info.plist。

3- 最后一个选项是构建干净的项目,删除驱动器数据并重新启动 Xcode。

希望它会有所帮助。

【讨论】:

我添加了,但问题还是一样。 您能否检查您的 info.plist 是否正确附加到目标,其次您确定,错误地您没有添加到测试目标 info.plist。最后一个选项是构建干净的项目,删除驱动器数据并重新启动 Xcode。 @Ravindra_Bhati 太好了,你解决了它....问题是什么? info.plist with embedded Target 所以我错了,我在通知扩展的 info.plist 中添加了一个权限,这就是我遇到问题的原因。所以我删除了需要在项目 info.plist 中添加的所有权限。无论如何感谢给我支持。

以上是关于即使我在 info.plist 中添加了 NSCameraUsageDescription,SwiftUI 应用程序也会崩溃的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iOS 的 info.plist 中添加属性

如何在 iOS 的 info.plist 中添加属性

在 Xcode 中向 info.plist 添加键

Xcode 项目浏览器未显示“GoogleService-Info.plist”,即使它位于目录中

如何将元素添加到 info.plist 数组?

我在 info.plist 中的 NSAppTransportSecurity 设置不适用于所有已定义的域和子域