【发布时间】:2012-03-31 21:59:21
【问题描述】:
“图片地图”之类的 iPhone 应用程序可以访问我 iPhone 相册中的所有照片并显示它们,而无需显示图像选择器控件。
有人知道这是怎么做到的吗?
谢谢 G
【问题讨论】:
“图片地图”之类的 iPhone 应用程序可以访问我 iPhone 相册中的所有照片并显示它们,而无需显示图像选择器控件。
有人知道这是怎么做到的吗?
谢谢 G
【问题讨论】:
这是一个老帖子,但我会回答,因为我是编写和发布图片地图的人!
Thomas 是对的,我正在访问 DCIM 文件夹以解析每个文件(从 EXIF 结构中获取其位置并访问缩略图)。
由于应用程序无权访问其沙盒之外的文件,Apple 要求我从 AppStore 中删除该应用程序......无论如何,从 iOS 4.0 开始,应用程序无法再访问 DCIM 文件夹了!
我确实重写了应用程序以使用 ALAsset 类并以“Picture-Map”的名义再次发布它!源代码也在这里:https://github.com/sylverb/Picture-Map
【讨论】:
我相信我知道发生了什么:
iPhone 上有两个独立的照片集:
普通应用无法访问 iPhoto 相册(前提是我们在这里不是在谈论越狱设备) - 应用只能请求用户手动逐张挑选图片。
但是,相机拍摄的照片最终会与其他数据一起在所有应用程序之间共享的“DCIM”文件夹中。如果您使用 Mac 应用程序“iPhone Explorer”,您可以看到所有这些(我相信 Windows 也有类似的应用程序)。
因此,虽然我自己从未尝试过“图片地图”,但我怀疑它只是访问了这个 DCIM 文件夹。
...
哦,等一下…… 我刚刚使用 iPhone Explorer 查看了我的 iPad 的共享文件夹(/var/mobile/Media),发现那里不仅有 DCIM 文件夹,还有一个 Photos 文件夹,其中包含一个“照片数据库”,就像在 Mac 上一样。 哇,这很有趣…… 这可能意味着“图片映射”实际上是直接读取该数据库文件。在 Mac 上做过,我怀疑 iPhone OS 上的文件格式也没有太大区别。
这能回答你的问题吗?
【讨论】: