Подтвердить что ты не робот

Как добавить фотографии в iPhone Simulator для OSX?

У меня есть фотографии на моем Mac, которые я бы хотел добавить в iPhone Simulator для тестирования моего приложения.

Другими словами: как добавить фотографии в iPhone Simulator?

Изменить: как насчет iphone Simulator 4.0? iphone Simulator 3.0 и 4.0 работают по-разному.

Заранее благодарим за помощь...

4b9b3361

Ответ 1

Откройте окно на Mac, где хранятся ваши изображения.

Откройте ваш симулятор другой стороны.

Теперь перетащите изображение из окна Mac в симулятор,

симулятор откроет сафари, а на вкладке сафари будет показано ваше изображение.

Нажмите и нажмите на изображение в симуляторе,

Появится сообщение "сохранить изображение",

сохранить изображение.

Он будет добавлен в ваш симулятор iPhone.

Изменить:

Сначала просто посмотрите на следующее изображение.

alt text

В iPhone simulator 4.0 (iphone/iphone simulator), сам он поддерживает базу данных sqlite для добавления изображений. Итак, если вы хотите скопировать систему вставки - сначала создайте вставки, а затем скопируйте пасту. Это было бы смешно.

Ok. Позвольте мне объяснить более простой способ сделать это.

  • откройте поисковик, в котором у вас есть объемные изображения, которые вы хотите добавить в симулятор.
  • перетащить первое изображение в симулятор iphone.
  • на изображении - нажмите и удерживайте в течение 1 секунды. Появится лист действий
  • - нажмите на вариант сохранения
  • повторить один и тот же процесс для всех изображений
  • это также сделает записи sqlite.
  • откройте приложение /Users/YourUserName/Library/Application Support/iPhone Simulator/4.0
  • создайте резервную копию каталога Media. (например, скопируйте его и вставьте его на рабочий стол).
  • когда вы reset ваш симулятор iphone, все изображения исчезнут
  • вам не нужно снова повторять весь процесс, у вас есть резервное копирование.
  • просто скопируйте и вставьте обратно до 4.0

alt text

Ответ 2

Более простая для понимания версия ответа сагара:

Откройте окно Finder, где хранятся ваши изображения, и iPhone Simulator. Затем перетащите изображения из окна Finder в симулятор. Симулятор откроет Safari с вашим изображением. Нажмите и удерживайте, чтобы сохранить изображение в рулоне камеры iPhone. Теперь вы можете использовать эти изображения, как обычно.

Ответ 3

У меня был тот же вопрос в последнее время. Метод drop-the-photo-on-Safari работает достаточно хорошо, если вы делаете одно за раз. Для нескольких изображений сразу я нашел замечательное сообщение , в котором объясняется, где симулятор находит его изображения.

Тот же плакат ссылается на bash script, чтобы загрузить каталог изображений в симулятор. Теперь я использую это для reset моего симулятора в известном хорошем состоянии как часть моей сборки. Таким образом, я могу сохранить свои изображения вместе с моим кодом, а не в зависимости от состояния дерева каталогов симулятора.

EDIT Оригинальный script был на сервере, который, кажется, пропал. Я вложил его здесь с изменениями, необходимыми для iPhone SDK 3.0. Кредит для script должным образом относится к автору "Кода и мужчин".

#!/bin/bash
simPath="$HOME/Library/Application Support/iPhone Simulator/User/Media/DCIM/100APPLE"
thmPath="$simPath/.MISC"

if [ -z "$1" ]; then
  echo usage: $0 "<folder>"
  exit 1
fi

if [ ! -d "$simPath" ]; then
  mkdir -p "$simPath"
  mkdir -p "$thmPath"
fi

# Find out which incremential number we're at currently.
index=1
for i in `ls $1/*.{jpg,png,gif,bmp} 2>/dev/null`; do
  while [ -f "$simPath/`printf IMG_%04d.JPG $index`" ]; do
    let index=$index+1
  done

  jpgName=`printf IMG_%04d.JPG $index`
  thmName=`printf IMG_%04d.THM $index`

  echo $i "->" $simPath/$jpgName

  sips -s format jpeg $i --out "$simPath/$jpgName" > /dev/null 2> /dev/null || continue
  sips -s format jpeg -z 96 96 $i --out "$thmPath/$thmName" > /dev/null 2> /dev/null || continue

  let index=$index+1
done

Ответ 4

Для нескольких изображений:

  • Добавить файлы изображений в папку- >
  • Добавить папку в проект xcode →

(это будет держать все вместе для этого проекта, и папка может быть удалена из проекта по вашему усмотрению)

  • открыть xcode и симулятор в том же окне- >
  • открыть "приложение для фотографий" в симуляторе- >
  • перетаскивание с xcode на симулятор →

(изображение откроется в сафари)

  • нажмите и удерживайте изображение в симуляторе- >
  • выбрал сохранение →

Изображение теперь будет в альбоме 'photos app' в симуляторе. Это было самым быстрым и чистым способом для меня.

Ответ 5

3 простых шага

1) Перетащите изображение на симулятор
  - это откроет браузер с вашим изображением
2) Нажмите и удерживайте изображение
  - это откроет параметры
3) сохранить изображение
  - это скопирует изображение на симулятор
Смотреть видео YouTube (добавлять изображения в симулятор iphone)

Ответ 6

Я редактировал script, чтобы создать структуру, которая работает с симулятором iPhone 4.0.1. В моей системе у меня есть подпапки для iphone simulator 3.2, 4.0 и 4.0.1. Поэтому я сохранил исходный вывод script и изменил структуру, так как ему нужно создать папку PhotoData для миниатюр. После запуска script я создаю сим-ссылки для каталогов симуляторов 3.2 4.0 и 4.0.1 следующим образом:

ln -s $HOME/Library/Application\ Support/iPhone\ Simulator/User/Media/DCIM/ $HOME/Library/Application\ Support/iPhone\ Simulator/4.0.1/Media/DCIM
ln -s $HOME/Library/Application\ Support/iPhone\ Simulator/User/Media/PhotoData/ $HOME/Library/Application\ Support/iPhone\ Simulator/4.0.1/Media/PhotoData

будущие прогоны script будут обновлять все симуляторы. Здесь измененный script:

#!/bin/bash

rootPath="$HOME/Library/Application Support/iPhone Simulator/User/Media"
relPath="100APPLE"
simPath="$rootPath/DCIM/$relPath"
thmPath="$rootPath/PhotoData/$relPath"

if [ -z "$1" ]; then
  echo usage: $0 "<folder>"
  exit 1
fi

if [ ! -d "$simPath" ]; then
  mkdir -p "$simPath"
  mkdir -p "$thmPath"
fi

echo "Finding pictures..."
# Find out which incremential number we're at currently.
index=1
for i in `ls $1/*.{JPG,jpg,png,gif,bmp} 2>/dev/null`; do
  echo "considering $i..."
  while [ -f "$simPath/`printf IMG_%04d.JPG $index`" ]; do
    let index=$index+1
  done

  jpgName=`printf IMG_%04d.JPG $index`
  thmName=`printf IMG_%04d.THM $index`

  echo $i "->" $simPath/$jpgName
  echo $i "->" $thmPath/$thmName

  sips -s format jpeg $i --out "$simPath/$jpgName" > /dev/null 2> /dev/null || continue
  sips -s format jpeg -z 96 96 $i --out "$thmPath/$thmName" > /dev/null 2> /dev/null || continue

  let index=$index+1
done

Ответ 7

Я обновляю script, чтобы попытаться добавить достаточное количество данных в базы данных SqlLite. Как только вы сохраните фотографию с сафари, будут введены следующие данные:

sqlite> select * from Photo;
primaryKey|type|title|captureTime|width|height|userRating|flagged|thumbnailIndex|orientation|directory|filename|duration|recordModDate
43|0|IMG_0037|320336214.0|640|427|0|0|0|1|DCIM/100APPLE|IMG_0037.JPG|0.0|320336214.933387
sqlite> select * from PhotoExtras;
primaryKey|foreignKey|identifier|sequence|value
142|43|1|-1|DCIM/100APPLE
143|43|2|-1|IMG_0037.JPG
144|43|3|-1|76616
145|43|6|-1|
        [email protected]???NSMutableDictionary
146|43|7|-1|286
147|43|8|-1|
        [email protected]???NSValue
148|43|9|-1|8252
149|43|10|-1|1
150|43|13|-1|0

Данные таблицы фотографий выглядят довольно просто, хотя в настоящее время я предполагаю, что captureTime не имеет значения. Материалы PhotoExtras немного более сложны и кажутся необходимыми, так как мой текущий script, который нуждается в идентификации изображения, не работает.

идентификатор 1 - это имя каталога Идентификатор 2 - это имя jpg идентификатор 3 - размер файла в байтах

Если кто-то может помочь другим.

Ниже представлен script:

#!/bin/bash

rootPath="$HOME/Library/Application Support/iPhone Simulator/4.2/Media"
relPath="100APPLE"
simPath="$rootPath/DCIM/$relPath"
sqlDB="$rootPath/PhotoData/Photos.sqlite"

if [ -z "$1" ]; then
  echo usage: $0 "<folder>"
  exit 1
fi

if [ ! -d "$simPath" ]; then
  mkdir -p "$simPath"
fi

echo "Finding pictures..."
# Find out which incremential number we're at currently.
index=1
for i in `ls $1/*.{JPG,jpg,png,gif,bmp} 2>/dev/null`; do
  echo "considering $i..."
  while [ -f "$simPath/`printf IMG_%04d.JPG $index`" ]; do
    let index=$index+1
  done

  imgName=`printf IMG_%04d $index`
  jpgName=`printf IMG_%04d.JPG $index`
  thmName=`printf IMG_%04d.THM $index`
  jpgWidth=`identify -format %w $i`
  jpgHeight=`identify -format %h $i`

  echo $i "->" $simPath/$jpgName
  jpgSize=`stat -f %z $i`
  jpgDir="DCIM/100APPLE"

  sips -s format jpeg $i --out "$simPath/$jpgName" > /dev/null 2> /dev/null || continue

  sqlite3 "$sqlDB" "insert into Photo (title,width,height,directory,filename) values ('$imgName',$jpgWidth,$jpgHeight,'$jpgDir','$jpgName')"
  foreignKey=`sqlite3 "$sqlDB" "select primaryKey from Photo where title='$imgName'"`
  sqlite3 "$sqlDB" "insert into PhotoExtras (foreignKey,identifier,value) values ($foreignKey,1,'$jpgDir'); \
                    insert into PhotoExtras (foreignKey,identifier,value) values ($foreignKey,2,'$jpgName'); \
                    insert into PhotoExtras (foreignKey,identifier,value) values ($foreignKey,3,$jpgSize);"
  let index=$index+1
done

Я отредактирую, если я получу дальше, следующий этап - это определение того, что содержат различные файлы .ithmb. Надеюсь, что-то вроде нескольких миниатюр jpg.