Доступ к фотоальбому с кода iPhone - PullRequest
7 голосов
/ 18 февраля 2010

Приложения для iPhone, такие как «Карта изображений», получают доступ ко всем фотографиям в альбоме камеры моего iPhone и отображают их, даже не отображая элемент управления «Выбор изображения».

Кто-нибудь знает, как это делается?

Спасибо G

Ответы [ 2 ]

6 голосов
/ 01 августа 2011

Это старая ветка, но я отвечу, потому что я тот, кто написал и опубликовал Picture Map!

Томас прав, я обращался к папке DCIM, чтобы проанализировать каждый файл (чтобы узнать его местоположение из структуры EXIF ​​и получить доступ к миниатюрам тоже).

Поскольку приложение не имеет права на доступ к файлам вне своей песочницы, Apple попросила меня удалить приложение из AppStore ... И в любом случае, начиная с iOS 4.0, приложение больше не имеет доступа к папке DCIM!

Я переписал приложение для использования класса ALAsset и опубликовал его снова под именем «Picture-Map»! Исходный код также доступен здесь: https://github.com/sylverb/Picture-Map

2 голосов
/ 15 мая 2010

Мне кажется, я знаю, что происходит:

На iPhone есть две отдельные коллекции фотографий:

  1. Альбом iPhoto, синхронизированный из приложения iPhoto на Mac.
  2. Снимки, сделанные с помощью камеры iPhone.

Альбом iPhoto недоступен обычным приложениям (при условии, что мы не говорим о взломанных устройствах здесь) - приложение может толькопотребуйте, чтобы пользователь выбирал картинку за картинкой от руки.

Снимки, сделанные камерой, однако, попадают в папку «DCIM», которая используется всеми приложениями вместе с другими данными.Вы можете увидеть все это, если вы используете приложение Mac «iPhone Explorer» (я уверен, что есть аналогичные приложения и для Windows).

Следовательно, хотя я никогда не пробовал «Карту изображений» сам, я подозреваю,что он просто обращается к этой папке DCIM.

...

О, теперь подождите ... Я просто использовал iPhone Explorer, чтобы посмотреть общую папку моего iPad (/ var / mobile / Media)и увидите, что там есть не только папка DCIM, но и папка «Фото», которая содержит «базу данных фотографий», как на Mac.Вау, это интересно ... Это может означать, что "Picture Map" фактически читает этот файл БД напрямую.Это было сделано на Mac, и я подозреваю, что формат файла на iPhone OS также не сильно отличается.

Это отвечает на ваш вопрос?

...