gpt4 book ai didi

ios - 将带有地理位置数据的照片保存到照片库 Swift 3

转载 作者:可可西里 更新时间:2023-11-01 04:37:24 25 4
gpt4 key购买 nike

如何使用地理位置元数据将照片保存到照片库?

我已请求(并允许)该应用访问用户位置:

private func allowAccessToUserLocation() {

locationManager = CLLocationManager()
locationManager.delegate = self
locationManager.requestWhenInUseAuthorization()
}

我是否需要为相机应用请求特定权限?

编辑:

我使用 UIImagePickerController 从应用程序中拍摄照片。从应用程序内拍摄的所有照片都存储在没有地理定位的照片库中。

这与我将图像保存到照片库的方式有什么关系吗?我的问题出在这里而不是核心位置权限??

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
if let pickedImage = info[UIImagePickerControllerOriginalImage] as? UIImage{
UIImageWriteToSavedPhotosAlbum(pickedImage, self, #selector(image(_:didFinishSavingWithError:contextInfo:)), nil)

dismiss(animated: true, completion: {

self.showPhoto()})
}
}

最佳答案

Apple 在 iOS 8 中引入了 Photo Library .

下面是使用位置创建和更新 PHAsset 的示例:

func addAsset(image: UIImage, location: CLLocation? = nil) {
PHPhotoLibrary.shared().performChanges({
// Request creating an asset from the image.
let creationRequest = PHAssetChangeRequest.creationRequestForAsset(from: image)
// Set metadata location
if let location = location {
creationRequest.location = location
}
}, completionHandler: { success, error in
if !success { NSLog("error creating asset: \(error)") }
})
}

确保您在保存之前有权访问照片

PHPhotoLibrary.requestAuthorization(_:)

可以使用以下方式读取元数据:

info[UIImagePickerControllerMediaMetadata]

我无法验证元数据是否存储位置,在我的测试中甚至不允许位置服务。在这种情况下,您可以使用 CoreLocation 自行获取真实位置。

关于ios - 将带有地理位置数据的照片保存到照片库 Swift 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42428617/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com