如何获取 PHAsset 的原始(EXIF?)创建日期/时间?

Zac*_*ach 5 ios photosframework phasset

PHAsset有一个creationDate属性给出资产的创建日期(UTC)。

如果我在 UTC-6 晚上 10:52 拍摄照片,则该creationDate酒店的时间为凌晨 03:52。

我如何知道照片拍摄的“真实”时间?该creationDate酒店未提供时区信息,因此我无法将其调整回晚上 10:52 - 我不知道在调整时要调整哪个时区...

我知道我可以获取 EXIF 创建日期(或至少尝试)使用PHImageManager requestImageDataForAsset并使用那里返回的数据来获取 EXIF 创建日期,该日期实际上是晚上 10:52,但这会导致照片在iCloud(我需要用户库中所有资产的创建日期值)。此外,我不知道如何获取视频的 EXIF 创建日期。

我还知道有一些从 a 获取时区的方法CLLocation,我可以用它来调整creationDate- 但这些方法要么受到速率限制,要么不准确

是否有另一种更简单的方法来获取此原始创建日期值?

回顾一下:

  • 照片拍摄于 UTC-6 晚上 10:52
  • PHAsset 创建日期为 UTC 时间凌晨 03:52
  • 我想知道如何获取 UTC-6 晚上 10:52 日期/时间。

Hep*_*eps 0

您可以尝试使用PHContentEditingInput. iCloud 图像可能也会很慢,但值得尝试,因为我认为没有其他方法可以做到这一点:(

这种方法不需要ImageIO导入并且需要更少的代码,所以也许它会比PHImageManager requestImageDataForAsset

您可以使用此PHAsset类别快速尝试: https: //github.com/zakkhoyt/PHAsset-Utility