XZ_iOS之将图片保存到手机导致崩溃的问题

来源:互联网 发布:软件测试通过的标准 编辑:程序博客网 时间:2024/06/05 10:00
使用UIImageWriteToSavedPhotosAlbum保存图片崩溃,且没有出现是否允许app读取相册的弹窗
解决思路:
1>图片太大导致的,换成本地图片依旧崩溃,说明不是图片问题;
2>没有出现让用户选择是否可以读取相册的弹窗,说明可能是权限问题导致的,但是已经添加了Photo Library Usage Description权限,所以,应该是有另一个权限字段未添加;
可以考虑是因为权限问题导致的,Xcode8之前只添加了Photo Library Usage Description权限就可以保存图片了,但是Xcode9之后需要添加Photo Library Additions Usage Description权限才可以保存图片,否则会崩溃


在添加info中添加下面权限字段:
<key>NSPhotoLibraryAddUsageDescription</key>
<string>App需要您的同意,才能访问媒体资料库</string>
当向相册中保存图片时,需要添加这个字段,否则没有保存的权限会导致崩溃;添加权限之后,点击保存会出现弹框,点击“好”才能成功保存图片;

app需要读取相册中的图片时,添加下面字段:
<key>NSPhotoLibraryUsageDescription</key>
<string>App需要您的同意,才能访问媒体资料库</string>

其他的权限添加语句:
<key>NSBluetoothPeripheralUsageDescription</key>
<string>App需要您的同意,才能访问蓝牙</string>
<key>NSCalendarsUsageDescription</key>
<string>App需要您的同意,才能访问日历</string>
<key>NSCameraUsageDescription</key>
<string>App需要您的同意,才能访问相机</string>
<key>NSContactsUsageDescription</key>
<string>App需要您的同意,才能访问通讯录</string>
<key>NSHealthShareUsageDescription</key>
<string>App需要您的同意,才能访问健康分享</string>
<key>NSHealthUpdateUsageDescription</key>
<string>App需要您的同意,才能访问健康更新</string>
<key>NSLocationAlwaysUsageDescription</key>
<string>App需要您的同意,才能访问位置</string>
<key>NSLocationUsageDescription</key>
<string>App需要您的同意,才能访问位置</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>App需要您的同意,才能在试用期间访问位置</string>
<key>NSMicrophoneUsageDescription</key>
<string>App需要您的同意,才能访问麦克风</string>
<key>NSMotionUsageDescription</key>
<string>App需要您的同意,才能访问运动与健身</string>
<key>NSRemindersUsageDescription</key>
<string>App需要您的同意,才能访问事件提醒</string>
<key>NSSpeechRecognitionUsageDescription</key>
<string>App需要您的同意,才能访问语音识别</string>
原创粉丝点击