使用
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>