iOS APP中保存图片到相册时崩溃的解决方法
环境:
iPhone Version 11.0.3 , Xcode Version 9.0
问题:
昨天维护APP时,发现拍照后保存图片时应用崩溃,输出如下:
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.
Google翻译:
此应用程序已崩溃,因为它尝试访问隐私敏感数据,而无需使用说明。应用程序的Info.plist必须包含一个NSPhotoLibraryAddUsageDescription键,其中的字符串值向用户解释应用程序如何使用此数据。
解决:
如果你不愿思考而习惯性百度的话,会发现有很多类似的问题。不过它们基本都是缺少“NSPhotoLibraryUsageDescription”,而这里却是缺少“NSPhotoLibraryAddUsageDescription”。
其实翻译已经说明问题,崩溃原因就是info.plist中因为缺少“NSPhotoLibraryAddUsageDescription”权限,自己去添加上就解决问题了。
原因:
经过了解,导致问题的原因是iOS11系统过后苹果新增加了一个权限,以后保存图片需要添加权限“Privacy - Photo Library Additions Usage Description”。
经测试,对于未升级到iOS11的设备保存图片并没任何问题, 但设备升级到iOS11后再保存图片APP一定会崩溃,同学们赶紧维护吧!
示图:
崩溃展示:
添加权限:
未添加权限时点击“保存到本地”APP会崩溃,添加权限后点击“保存到本地”第一次会弹出权限弹窗。