PHAsset Location -- GPS MetaData,怎么了?
PHAsset Location -- GPS MetaData, what's wrong?
尝试使用 Phasset 从 UIImage 添加位置:
// image is a variable like so: image: UIImage
var newAsset = PHAssetChangeRequest.creationRequestForAssetFromImage(image)
newAsset.location = CLLocation(latitude: coordinate.latitude, coordinate.longitude)
显然,此代码有效 -> 将坐标良好的新资产保存到照片库中。我可以在图书馆本身看到它。
但是当我使用 exif 工具和类似工具时,大多数时候 GPS 字典是空的,就好像没有设置位置一样。
(另外,我注意到 GPS 信息不是 exif 格式)
所以我猜,位置信息也在别的地方...
所以 PHAsset 的位置 属性 有什么问题?
如何正确设置位置?
照片在自己的数据库中跟踪位置元数据,与存储在每个照片文件中的 EXIF 元数据分开。当您(作为 Photos API 的客户)或用户 creates/adds 新资产时,Photos 会从文件中读取 EXIF 位置数据,并在其数据库中设置位置以匹配。然而,除此之外,照片 API 不会努力保持这些同步。
如果您想更新文件中的 EXIF 元数据,您需要自己进行操作。 (图片 I/O 可以提供帮助 — 请参阅 this answer。)然后,使用 creationRequestForAssetFromImageAtFileURL:
或新的PHAssetCreationRequest
iOS 9.
中的内容
尝试使用 Phasset 从 UIImage 添加位置:
// image is a variable like so: image: UIImage
var newAsset = PHAssetChangeRequest.creationRequestForAssetFromImage(image)
newAsset.location = CLLocation(latitude: coordinate.latitude, coordinate.longitude)
显然,此代码有效 -> 将坐标良好的新资产保存到照片库中。我可以在图书馆本身看到它。
但是当我使用 exif 工具和类似工具时,大多数时候 GPS 字典是空的,就好像没有设置位置一样。 (另外,我注意到 GPS 信息不是 exif 格式) 所以我猜,位置信息也在别的地方...
所以 PHAsset 的位置 属性 有什么问题? 如何正确设置位置?
照片在自己的数据库中跟踪位置元数据,与存储在每个照片文件中的 EXIF 元数据分开。当您(作为 Photos API 的客户)或用户 creates/adds 新资产时,Photos 会从文件中读取 EXIF 位置数据,并在其数据库中设置位置以匹配。然而,除此之外,照片 API 不会努力保持这些同步。
如果您想更新文件中的 EXIF 元数据,您需要自己进行操作。 (图片 I/O 可以提供帮助 — 请参阅 this answer。)然后,使用 creationRequestForAssetFromImageAtFileURL:
或新的PHAssetCreationRequest
iOS 9.