2

Я считаю, что мой процесс загрузки фотографий с iPhone немного громоздок.

Вот мои требования:

  • Загружайте фотографии и видео с моего iPhone Camera Roll, но сохраняйте фотографии на iPhone
  • Только отображать / загружать новые фотографии + видео на iPhone с момента последней загрузки
  • Избегайте iPhoto, в идеале, потому что это заставляет меня немного нервничать
  • Все фотографии и видео, сделанные на моем iPhone, доступны для просмотра на моем iPhone
  • Сохранять все метаданные EXIF / GPS любой ценой

В настоящее время я использую обычную структуру папок + Picasa для всех своих цифровых фотографий, однако для своего iPhone я использую iPhoto, потому что он "отображает только новые элементы", когда я собираюсь импортировать фотографии с моего iPhone

Я обнаружил, что на моем iPhone будет более 5000 фотографий и видео, iPhoto, как правило, требуется некоторое время (2-10 минут), чтобы «найти» мой iPhone после его подключения.

В идеале я хотел бы просто использовать встроенный в OSX ImageCapture.app для загрузки фотографий iPhone, но он загружает / отображает ВСЕ фотографии, а не только новые с момента последней синхронизации (как iPhoto делает ..). Затем я должен знать, какая была последняя загруженная фотография iPhone и загружать только новые.

Picasa Import также загружает / отображает ВСЕ фотографии на iPhone (что очень громоздко при большом количестве изображений для загрузки с устройства ...)

Я думаю, я хотел бы знать, есть ли у кого-то похожий рабочий процесс / требования и как они это делают.

Мой текущий план состоит в том, чтобы настроить рабочий процесс, который удаляет фотографии из Camera Roll по мере их загрузки, но затем iTunes синхронизирует их как альбомы на основе папок - я могу даже автоматически изменить их размер, чтобы у меня были меньшие версии на iPhone и оригинальные полноразмерные версии на моем Mac (так что сэкономьте место на предыдущем iPhone)

1 ответ1

2

Вот рабочее решение, но оно, вероятно, не самое простое. LifeHacker недавно опубликовал статью, описывающую программу, которая делает ваш iPhone похожим на обычный подключенный диск в Finder: http://lifehacker.com/5582529/phone-disk-mounts-iphone-ipod-touch-and-ipad-as- usb-disc-in-finder Рассматриваемая программа может быть найдена здесь: http://www.macroplant.com/phonedisk/, и в настоящее время авторы раздают ее бесплатно, что приятно для них. Я попытался сделать это, используя свой неработающий сломанный iPhone 3GS, и я могу успешно перемещаться по файлам на моем iPhone с помощью Finder, включая мои фотографии и фильмы (хотя некоторые системные файлы остаются скрытыми, потому что мой телефон не сломан в тюрьме). Снимки и фильмы хранятся в привычной звуковой папке DCIM на iPhone.

Следующий шаг - автоматизировать процесс копирования, чтобы вы копировали только новые файлы. Хотя в отличие от карт памяти, отформатированных в FAT32, где (по моему опыту) бит архива установлен для файлов, которые были ранее загружены файлы / фотографии, похоже, нет возможности читать или устанавливать эквивалентный флаг на подключенном iPhone диск. Я не знаю, является ли это ограничением программы или формата диска самого телефона (я предполагаю, что программа).

Поэтому я предлагаю использовать скрипт bash, который сохраняет файл нулевого байта на телефоне, где временная метка файла указывает, когда фотографии были в последний раз синхронизированы. Затем этот файл можно использовать со стандартной командой терминала 'find' для копирования только новых файлов, чем этот файл. Ниже приведен пример сценария bash, который я написал для этой цели, и он работает для меня. Сохраните сценарий в виде файла в вашем домашнем каталоге, скажем, под названием «photoSync.sh». Затем (с подключенным iphone) из окна терминала измените текущий каталог на корневой каталог iPhone, а затем запустите сценарий, указав целевой каталог в качестве первого аргумента сценария. Например

cd /Volumes/MyIPhone\(Media\)/
sh ~/photoSync.sh ~/Pictures/iPhonePics

Вот сценарий:

#!/bin/bash

#test that script has been called correctly & from the right place
if [ ! -n "$1" ]
then
    echo "Usage: $0 <destination dir>"
    exit 1
fi

if [ ! -d $1 ]
then
    echo "Destination directory does not exist or is not a directory"
    exit 1
fi

if [ ! -d "DCIM" ]
then
    echo "Current directory does not contain a DCIM folder. Script should be executed from mount directory of iPhone"
    exit 1
fi

#tests passed, let's do the copying…
#check for last sync file…
if [ -e "com.jn.lastsynctime" ]
then
    #we've synced before, just grab newer files
    echo "Copying only files since last sync..."
    find ./DCIM/* \( -name "*.JPG" -or -name "*.MOV" -or -name "*.PNG" \) -type f -newer com.jn.lastsynctime -exec cp -np {} $1 \; -print
    #reset sync file
    rm com.jn.lastsynctime
    touch com.jn.lastsynctime
    echo "Done"
else
    #no sync file so copy all and set sync file
    echo "No previous sync marker found, copying all files…"
    find ./DCIM/* \( -name "*.JPG" -or -name "*.MOV" -or -name "*.PNG" \) -type f -exec cp -np {} $1 \; -print
    touch com.jn.lastsynctime
    echo "Done"
fi

exit 0

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .