在 iOS 中访问 Photos.sqlite 以检索照片元数据

Posted

技术标签:

【中文标题】在 iOS 中访问 Photos.sqlite 以检索照片元数据【英文标题】:Access Photos.sqlite in iOS to retrieve photo meta data 【发布时间】:2014-02-10 19:25:38 【问题描述】:

我正在努力寻找有关如何访问Photos.sqlite 数据库的信息。缺少以下信息:

    是否可以从我自己的应用程序/框架访问Photos.sqlite 数据库? 如果是Yes,我在哪里可以找到有关访问Photos.sqlite db 的文档? 是否可以从数据库中的照片中检索元数据?我想获取以下元数据 照片时间戳 GPS信息LatitudeLongitude

假设有没有机会从Photos.sqlite db 中获取信息。处理设备照片库中的照片元数据的最佳方法是什么?

以下search criteria 与我相关:

按日期检索照片 检索CLLocationCoordinates 的照片

每次调用都在for循环中遍历所有的照片肯定太慢了!!!

我认为处理包含 1000 多张照片的照片库让我别无选择,只能创建自己的数据库。那正确吗?如果,有人可以给我一个建议,数据库模型应该是什么样子吗?

【问题讨论】:

【参考方案1】:

要访问设备照片库中的照片,您无需直接访问 sqlite 数据库,而是使用 Apple 提供的 AssetsLibrary 框架来检索图像及其相关元数据。更多信息请看这里:https://developer.apple.com/library/ios/documentation/AssetsLibrary/Reference/ALAssetsLibrary_Class/Reference/Reference.html

【讨论】:

以上是关于在 iOS 中访问 Photos.sqlite 以检索照片元数据的主要内容,如果未能解决你的问题,请参考以下文章

如何以编程方式访问 iOS 中其他已安装应用程序的 info.plist?

如何在 S3 中存储数据并允许用户使用 rails API / iOS 客户端以安全的方式访问?

在 info.plist iOS 10 中声明对麦克风的使用访问权限以进行隐私设置

能否以编程方式从 ios 应用端访问 bigquery 或 Firebase 分析数据?

使用内置 iOS 日历以编程方式快速创建日历/访问

iOS 7 / Xcode 5:以编程方式访问设备启动图像