ios - UIImageWriteToSavedPhotosAlbum 将照片从相机保存到后期
问题描述
如何获取从相机拍摄的照片的网址?关闭对话框后保存照片。权限:
隐私 - 照片库使用说明
隐私 - 照片库添加使用说明
隐私 - 相机使用说明
图像控制器
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
let pickedImage = info[UIImagePickerControllerOriginalImage] as? UIImage
UIImageWriteToSavedPhotosAlbum(pickedImage!, self, nil, nil)
guard let document = getDocument(from: info) else {
picker.dismiss(animated: true, completion: nil)
return
}
viewModel?.documens.append(document)
documentsCollectionView.reloadData()
picker.dismiss(animated: true, completion: nil)
}
private func getDocument(from imageInfo: [String: Any]) -> DocumentRepresentable? {
guard let selectedImage = imageInfo[UIImagePickerControllerOriginalImage] as? UIImage,
let imageURL = imageInfo[UIImagePickerControllerReferenceURL] as? URL else {
return nil
}
return Document(path: imageURL.path, data: selectedImage)
}
打开相机功能
private func showCameraPicker() {
if UIImagePickerController.isSourceTypeAvailable(.camera){
let myPickerController = UIImagePickerController()
myPickerController.sourceType = .camera
myPickerController.delegate = self
viewModel?.context?.present(myPickerController, animated: true, completion: nil)
}
}
解决方案
推荐阅读
- random - 每隔新行添加一个随机变量到 Sed \a
- python - 如何请求多个 HTML?
- google-apps-script - GAS - 计算距离
- rest - 卡夫卡条件生产/消费
- php - 带有 JSON 的 PHP `array_push`
- postgresql - 引用的 NULL 值使 PostgreSQL COPY 命令失败
- kubernetes - 是否可以使用 Istio 搜索网格在 Kubernetes 中创建 Redis 集群?
- twitter-bootstrap - 如何修复 bootstrap 4 模态显示不正确?
- google-maps - 如何将 yii2 应用程序与一些地图(如谷歌地图)集成
- apache - Mod_rewrite 将接受一个字符串但不接受另一个