Как добавить фотографии в iPhone Simulator для OSX?
У меня есть фотографии на моем Mac, которые я бы хотел добавить в iPhone Simulator для тестирования моего приложения.
Другими словами: как добавить фотографии в iPhone Simulator?
Изменить: как насчет iphone Simulator 4.0? iphone Simulator 3.0 и 4.0 работают по-разному.
Заранее благодарим за помощь...
Ответы
Ответ 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.
Ответ 8
Я использую автоматизированную технику, которую я первоначально нашел в iPhone Dev SDK. Добавьте изображения в ресурсы приложения, а затем:
UIImage *image = [UIImage imageWithName:@"imageName.jpg"];
UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);
http://www.iphonedevsdk.com/forum/iphone-sdk-development/2225-no-photos-in-iphone-simulator-how-to-add-photos.html