今天调试项目时有一个生成 UIView 的图片并保存到本地的功能,一点发现闪退了。发现 Xcode 报以下错误:
This app has crashed because it attempted to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSPhotoLibraryAddUsageDescription key with a string value explaining to the user how the app uses this data.
好吧,原来是跟 iOS 10 保存图片、调用相机一样, Info.plist 里面要涉及隐私数据时要添加一句“提示语”。于是打开 Info.plist,点击 + 号,在 Key 中输入:Privacy - Photo Library Additions Usage Description,Type 选择 String,Value 中输入你的提示语。再次 Build,运行,OK!
Google 了一下,发现这是 iOS 11 新出的一条隐私规则,说明如下:
iOS 11 中新加的还有一个 NFCReaderUsageDescription,可能跟 NFC 设备有关,不过暂时没接触到。
提醒大家在 iOS 11 适配时要注意各种小坑,不然 App 很有可能莫名其妙闪退。
链接:Cocoa Keys