iOS 共享扩展 - 位置元数据丢失

iOS Share Extension - Meta data for location is missing

我正在为 iOS 开发共享扩展应用程序,我需要记录资产的创建日期和位置数据。但是,从系统共享给我们的文件似乎已从中删除了位置数据。 但我注意到,当分享到 Facebook 等应用程序时,他们似乎从中提取了这些数据(在发布时通过他们的位置建议验证)。

我所做的验证是,当系统提供资产时,我手动导航到该位置并将该照片或视频添加回照片库,果然,该共享项目中不存在位置数据。有没有一种方法可以要求系统在共享到我们的应用程序扩展程序时不剥离这些数据? facebook 应用程序如何提取它?

关于我如何提取数据的示例,打印的日志不包含任何 gps 部分。

let data = NSData(contentsOf: url)!
let source = CGImageSourceCreateWithData(data as CFData, nil)!
let metadata = CGImageSourceCopyPropertiesAtIndex(source, 0, nil)!
print(metadata)

谢谢

经过大量试验和错误,我意识到共享由用户设置控制时的敏感数据。在 iOS 的共享 sheet 上(或 OSX 上的照片库设置)有一个复选框/勾选以包含共享项目的位置数据。在 2 台设备上使用相同的照片库,带有 facebook 应用程序的设备打开了它,而测试设备关闭了它们,这导致了对差异原因的困惑。不过现在清楚了。