从iPhone代码访问相册

时间:2010-02-18 08:11:30

标签: iphone photo

像“图片地图”这样的iPhone应用程序访问iPhone相机相册中的所有照片并显示它们,而不显示图像选择器控件。

有谁知道这是怎么做的?

由于 ģ

2 个答案:

答案 0 :(得分:6)

这是一个旧帖子,但我会回答,因为我是编写和发布图片地图的人!

Thomas是对的,我正在访问DCIM文件夹来解析每个文件(从EXIF结构获取其位置并访问缩略图)。

由于应用程序无权访问其沙箱之外的文件,Apple要求我从AppStore中删除该应用程序......无论如何,自iOS 4.0以来,应用程序无法再访问DCIM文件夹了!

我确实重写了应用程序以使用ALAsset类并以“Picture-Map”的名义再次发布它!源代码也可在此处获取:https://github.com/sylverb/Picture-Map

答案 1 :(得分:2)

我相信我知道发生了什么:

iPhone上有两个独立的照片集:

  1. iPhoto相册,与Mac上的iPhoto应用同步。
  2. 用iPhone相机拍摄的照片。
  3. 普通应用无法访问iPhoto相册(前提是我们不是在谈论越狱设备) - 应用只能请求用户手动选择图片。

    然而,相机拍摄的照片最终位于“DCIM”文件夹中,该文件夹在所有应用程序之间共享,以及其他数据。如果您使用Mac应用程序“iPhone Explorer”,您可以看到所有这些(我确信Windows也有类似的应用程序)。

    因此,虽然我从未尝试过“图片地图”,但我怀疑它只是访问了这个DCIM文件夹。

    ...

    哦,现在等一下...... 我只是用iPhone浏览器来查看我的iPad的共享文件夹(/ var / mobile / Media),看到那里不仅有DCIM文件夹,还有一个Photos文件夹,其中包含一个“Photo Database”,就像在Mac上一样。 哇,这很有意思...... 这可能意味着“图片映射”实际上直接读取此DB文件。它已在Mac上完成,我怀疑iPhone OS上的文件格式也没有太大差别。

    这会回答你的问题吗?