Добавление изображений или видео в iPhone Simulator


273

Я пытаюсь использовать UIImagePickerControllerс UIImagePickerControllerSourceTypePhotoLibrary, но он говорит: «Нет фотографий». Откуда симулятор получает изображения? Куда скопировать изображения, чтобы они отображались в симуляторе?


53
Перетащите изображения на симулятор iPhone. Затем щелкните правой кнопкой мыши на изображение, чтобы сохранить его.
Толстяк

3
Я не мог щелкнуть по нему правой кнопкой мыши с текущим симом, но я мог щелкнуть значок «Поделиться» и затем сохранить изображение.
Скотт Роули

Ответ Скотта Роули сработал для меня, а ответ Джо Блоу - нет. Я думаю, что это может быть разница в выпуске Xcode 5.1.1.
erstaples

Ответы:


230

Самый простой способ загрузить изображения, видео и т. Д. На симулятор - это перетащить их с компьютера на симулятор. Это приведет к тому, что Simulator откроет приложение «Фотографии» и начнет заполнять библиотеку.


Если вам нужен метод с поддержкой сценариев, читайте дальше.

Обратите внимание - хотя это верно и работает, я думаю, что приведенное ниже решение Коена теперь лучше, так как не требует перезагрузки симулятора.

Определите ваш симулятор, перейдя в xCode-> Devices, выбрав ваш симулятор и проверив значение идентификатора.

Перейти к

~ / Библиотека / Разработчик / CoreSimulator / Устройства / [Идентификатор симулятора] / Данные / Медиа / DCIM / 100APPLE

и добавьте IMG_nnnn.THM и IMG_nnnn.JPG. Затем вам нужно будет перезагрузить симулятор (Hardware-> Reboot), чтобы он мог заметить новые изменения. Неважно, не являются ли они JPEG-файлами - они оба могут быть PNG, но похоже, что они оба должны присутствовать, чтобы он работал. Вам может потребоваться создать DCIM, если он еще не существует, и в этом случае вам следует начать nnnn с 0001. Файлы JPG являются полноразмерной версией, а файлы THM - миниатюрой и имеют размер 75x75 пикселей. Я написал сценарий , чтобы сделать это, но есть лучше документированы один над здесь (-link больше не работают).

Вы также можете добавить фотографии из сафари в симуляторе, нажав и удерживая на изображении. Если вы перетащите изображение (или любой другой файл, например PDF) в симулятор, он сразу же откроет Safari и отобразит изображение, так что это довольно простой способ получить изображения к нему.


Под iPhone SDK 3.0 это немного изменилось. Теперь файлы миниатюр (".THM") должны быть в каталоге 100APPLE / .MISC. В противном случае все фотографии будут отображаться в виде черных ящиков.

Как обновить значок в ячейке «Сохраненные фотографии» в главном табличном представлении «Фотоальбом»?
Саймон Вудсайд

3
Мое местоположение в~/Library/Application Support/iPhone Simulator/3.1.3/Media/DCIM/100APPLE
гак

3
Для меня с симулятором 5.1 вам не нужны файлы .THM, а каталог должен быть ~ / Library / Application Support / iPhone Simulator / 5.1 / Media / DCIM / 100APPLE Ссылка на скрипт в ответе больше не работает для меня, так что я создал свой собственный сценарий здесь: gist.github.com/3738695
Дав Ягинума

11
К сожалению, с iOS6 эта техника больше не работает. Это маленькое приложение для импорта, которое вы можете запустить в симуляторе, работает хорошо, хотя - aptogo.co.uk/2010/09/importing-photos Посмотрите ответы с более низким рейтингом ниже этого.
Кенни Грант

444

Пошагово объясните ответ Airsource Ltd за добавление изображения в симулятор:

  1. Перетащите его в симулятор, затем откроется Safari (или перейдите к изображению в Интернете с помощью Safari).
  2. Удерживайте клик на изображении
  3. Когда появится всплывающее окно, выберите «Сохранить изображение» и наслаждайтесь;)

Обновление: для iOS Simulator 4.2 выполните эти шаги дважды, чтобы заставить его работать. Спасибо kevboh!

Обновление: это также работает для iOS Simulator 6.1


1
Это не работает для меня с симулятором iOS версии 4.2 (235). Я могу хорошо пройти шаги 1-3, но когда я перехожу к «Фото», я ничего не вижу.
Марк Фаулер

2
Это работало для меня, когда у меня не было открытых приложений, когда у меня было открытое приложение, оно проходило те же шаги, но фактически не работало.
Тристан Уорнер-Смит

формат изображения должен быть только .jpg .. он не будет работать для .png я думаю
Talktobijju

1
Вау, это было так легко, что я чувствовал себя обманщиком! Кстати, как отмечает @KarenAnne, это работает в симуляторе iOS 6.0, фотографии в конечном итоге находятся в ~ / Library / Application Support / iPhone Simulator / 6.0 / Media / DCIM / 100APPLE и (кажется) нет файлов .THM. В любом случае отличный совет!
Дэйв Марли,

Отлично работает и с iOS7. Хороший ответ.
День Крейга

129

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

  1. Перетащите изображение на симулятор
    - откроется браузер с вашим изображением
  2. Нажмите и удерживайте изображение
    - это откроет опции
  3. сохранить изображение
    - это скопирует изображение на симулятор

Смотреть видео YouTube (добавить изображения в симулятор iphone)


Не работает для видео. Потому что ничего не происходит при долгом нажатии на экран.
Bagusflyer

62

В iOS 8.0 мы добавили возможность просто перетаскивать изображения в симулятор iOS. Вы можете перетащить несколько изображений в окно, и они должны быть импортированы в фотобарабан для этого смоделированного устройства. Вы также можете сделать это с помощью инструмента командной строки simctl. 'xcrun simctl addphoto'


2
Спасибо! Отличная особенность. Обратите внимание, что вы не можете перетащить их на значок Dock, вы должны перетащить их в окно симулятора. Надеюсь, это скоро изменится, чтобы позволить перетаскивание на иконку.
Джордан Х

Перетаскивание на значок Dock должно вывести окна приложения на передний план (как если бы вы перетаскивали на значок док-станции Finder).
Джереми Хаддлстон Секвойя

Привет @ ДжеремиХаддлстонСеквойя! Два вопроса: команда работает только для картинок, а не для видео, верно? Кроме того, есть ли способ ввода информации стиля «момент» в симулятор (т. Е. Создать несколько моментов, возможно, задним числом и т. Д.)?
julien_c

1
Верный. Это просто для добавления фотографий. Его нельзя использовать для видео. Я не знаю, как сделать задним числом события, но это может быть возможно через приложение "Фотографии". Если нет, то, безусловно, стоило бы подать радар на bugreport.apple.com
Джереми Хаддлстон Секвойя

@JeremyHuddlestonSequoia, это не сохраняет оригинальные метаданные активов. Посмотрите, пожалуйста, на мой проект, который поможет вам импортировать ваши активы при сохранении всех метаданных (включая видео!) Github.com/matibot/MBAssetsImporter
Mati Bot,

45

Начиная с Xcode 6 вы можете использовать инструмент командной строки xcrun simctl.

Использование очень просто; чтобы добавить фотографию в текущий симулятор, вы используете bootedзаполнитель.

xcrun simctl addmedia booted ./MyFile.jpg

Чтобы добавить его в любой другой симулятор, вы используете его идентификатор устройства, который можно найти, запустив xcrun simctl list.

xcrun simctl addmedia E201E636-CE6C-11E5-AB30-625662870761 ./MyFile.jpg

Последняя команда «xcrun simctl addmedia E201E636-CE6C-11E5-AB30-625662870761 ./MyFile.jpg» работает только при работающем симуляторе. Я надеялся, что будет решение добавить изображения без запуска, т.е. подготовить перед запуском симулятора.
StackUnderflow

26

Это просто. Просто следуйте этим шагам:

  1. Перетащите изображение на симулятор
  2. Теперь изображение открывается в браузере Safari (файл: //.../ImageName). Нажмите и удерживайте изображение.
  3. При этом отображается actionSheet с опцией Save, Cancel (также копировать в случае симулятора iOS 7).

    Снимок экрана для действий

  4. Сохраните изображение. Изображение добавляется в библиотеку.

    Библиотека фотографий


22

Я просто наткнулся на то, как массово загружать изображения на симуляторе iOS. (Я только подтвердил это на 6.1.)

  1. Сделайте резервную копию папки:

    ~/Library/Application Support/iPhone Simulator/6.1/Media
  2. Скопируйте все ваши изображения в папку:

    ~/Library/Application Support/iPhone Simulator/6.1/Media/DCIM/100APPLE
  3. Переместить или удалить папку:

    ~/Library/Application Support/iPhone Simulator/6.1/Media/PhotoData
  4. Перезапустите iOS Симулятор

  5. Откройте приложение Фотографии

Симулятор восстановит все изображения из папки 100APPLE!


1
Отличное решение. Я поместил свои фотографии в папку Media / DCIM, но мне нужно было также удалить папку PhotoData. И это работает для меня с iOS 7 тоже.
Мошенник

Работает и для iOS7! Спасибо!
Клаас

1
Из четырех методов, которые я пробовал в iOS7.0.3 4-дюймовом симуляторе, это единственный, который работал, хотя я обнаружил, что получил дубликаты каждого изображения. Upvoted.
Пепел

1
Мне удалось использовать этот проект github под iOS7.0 для импорта изображений github.com/basilhe/iOS-Simulator-Photo-Importer . Кажется, это вариант импортера фотографий, упомянутый ранее, но также и видео.
Роб

Спасибо! Мне было интересно, почему переданные фотографии не отображаются, даже если я уже разместил их в Media / DCIM / 100APPLE. Оказывается, есть дополнительный шаг удаления папки Media / PhotoData.
КаренАнн

22

Для iOS 7 я сделал следующее:

скопируйте фотографии в эти две папки:

~/Library/Application Support/iPhone Simulator/6.1/Media/DCIM/100APPLE
~/Library/Application Support/iPhone Simulator/7.0/Media/DCIM/100APPLE

удалите только эти 4 файла (чтобы избежать дублирования при повторном запуске):

~/Library/Application Support/iPhone Simulator/6.1/Media/PhotoData/Photos.sqlite-shm
~/Library/Application Support/iPhone Simulator/6.1/Media/PhotoData/Photos.sqlite-wal
~/Library/Application Support/iPhone Simulator/7.0/Media/PhotoData/Photos.sqlite-shm
~/Library/Application Support/iPhone Simulator/7.0/Media/PhotoData/Photos.sqlite-wal

1
Удаление *.sqlite-файлов работало на меня. Спасибо!
Зорайр

Отлично, это действительно помогло мне. Я попробовал несколько методов, и до сих пор я делал перетаскивание. Но это более простой способ, когда вам нужно скопировать слишком много изображений :)
Anand

5
С iOS 8 теперь вы можете перетаскивать фотографии на симулятор :)
VaporwareWolf

В отличие от ответа Арела, фильмы, перенесенные в DCIM / 100APPLE, не будут доступны с этой техникой.
Стивен Фишер


15

Это НАМНОГО проще с новым iOS Simulator, который поставляется с Xcode 6+ (iOS Simulator 8.1 и выше.) Теперь все, что вам нужно сделать, это перетащить одну или несколько фотографий в окно iOS Simulator и вместо открытия Safari, приложения Photos открывает и мгновенно добавляет все перетаскиваемые фотографии на устройство.


11

Способ 1 (самый простой способ): если у вас есть изображение на Mac

Вы можете перетащить изображение из Finder на вашем Mac в Simulator, и оно будет сохранено в альбом сохраненных фотографий.

Способ 2: если его по любому URL

Чтобы сохранить изображение с веб-страницы в приложении «Фотографии»

  1. Поместите указатель на изображение, которое вы хотите сохранить, и удерживайте кнопку мыши или трекпад.
  2. Когда появится меню, нажмите «Сохранить изображение», чтобы сохранить изображение в приложении «Фотографии» в симуляторе iOS.
  3. Изображение сохраняется в альбом «Сохраненные фотографии» в приложении «Фотографии».

Включите кого-нибудь, кто ищет документацию Apple относительно копирования и вставки в симулятор. Сохранить изображение из Safari


Единственным недостатком является то, что он не работает с несколькими изображениями одновременно.
Анци

Хорошо работает с несколькими изображениями. Не могу поверить, что я не знал этого раньше.
Dazzle

9

Ни у одного из ответов не было точного решения, в котором я нуждался.

Шаги, которые я нашел для себя, работая над симулятором iOS 5.0 и выше, следующие:

  1. Закройте симулятор, если на нем запущен проект xcode.

  2. Запустите симулятор из дока, нажав на него.

  3. Перетащите изображение в симулятор.

  4. Нажмите и удерживайте изображение (открытое в Safari) и выберите вариант сохранения.

Вы сделали.


Изображения в конечном итоге уменьшаются до разрешения 552x668, что не является исходным изображением. Напротив, импортер изображений сохраняет исходное разрешение изображения.
Роб

7

Для iOS 5.1 это дополнительно изменено на новый путь

~ / Библиотека / Поддержка приложений / iPhone Simulator / 5.1 / Медиа / DCIM / 100APPLE


7

Начиная с iOS 8, вы можете просто перетащить все свои фотографии в окно симулятора, и они автоматически сохранятся в списке. Вы можете сделать столько, сколько хотите.


Это было очень приятно узнать сегодня, особенно для тестирования производительности представлений коллекции с огромным количеством данных изображений + оптимизация NSCache.
Эрик Голдберг

Это перестало работать на XCode 10 (протестировано на 10.1), iOS 12.1 :(
endavid

6

Если вам нужно импортировать больше, чем одну или две фотографии, взгляните на эту статью, которую я написал. В нем описан простой способ выполнить массовый импорт фотографий и работает для iOS 4.x.


Это сработало для меня, но мне нужно было внести в приложение простое изменение: поскольку я использую симулятор 4.2, и он предназначен для работы на 4.0 (чего у меня нет), я перешел к «Проекту» -> «Изменить настройки проекта», а затем в разделе «Архитектура» я изменил «Базовый SDK» на «Последняя iOS».
Марк Фаулер

5

Для iOS 8, если нет необходимости сохранять дату и место захвата фотографии, просто перетащите файлы фотографий в симулятор.

Чтобы сохранить метаданные фотографии, сделайте следующее:

  1. Скопируйте файлы фотографий в: / Users / {USER} / Library / Developer / CoreSimulator / Devices / {UDID} / data / Media / DCIM / 100Apple
  2. Удалить (или переименовать) папку: / Users / {USER} / Library / Developer / CoreSimulator / Devices / {UDID} / data / Media / photoData
  3. Перезапустить Симулятор

Примечание. Вам необходимо заменить {USER} на свое имя пользователя и {UDID} на UDID симулятора. Чтобы найти UDID для вашего симулятора, из терминала запустите 'xcrun simctl list'.


Не имеет значения в IOS 8.1
nadeem gc

3
quit the simulator.

Run simulator from the dock by clicking on it.

Drag & drop the image into simulator which you want to add.

it will open image in safari .

tap and hold the image and click the save option.

then open gallery and you will see the image which u had saved recently.

3

Добавить изображение в Iphone Simulation под управлением IOS 8.0 еще проще.

  • Перетащите свое изображение в симулятор
  • IOS открывает приложение Photo, и ваше изображение теперь является частью вашей коллекции.

Больше не нужно иметь дело с Safari


Теперь вы также можете перетаскивать сразу несколько фотографий прямо в альбом Camera Roll.
Пол Арделеану

1
@PaulArdeleanu, ты прав. Тем не менее, он не сохраняет исходные метаданные активов. Пожалуйста, ознакомьтесь с моими проектами, которые помогут вам импортировать ваши активы при сохранении всех метаданных github.com/matibot/MBAssetsImporter
Mati Bot,

1
@MatiBot, MBAssetsImporter отлично подходит для массовой передачи изображений - большое спасибо!
user2067021

2

Для iOS 4.2 мне пришлось пойти и создать папку 100APPLE и перезапустить симулятор, после чего все заработало.


2

попробуйте это приложение, которое я сделал. скачать код и запустить его в симуляторе https://github.com/cristianbica/CBSimulatorSeed


Не работает "из коробки" под iOS7 - говорит что-то о несогласованности CocoaPods.
Пепел

Что ж, вы должны запустить pod install, чтобы установить модули, так как их нет в репозитории. Я обновил README
bcd

2

Для iOS 8.0 ответ устарел. Я нашел медиа-ресурс по следующему пути: ~ / Library / Developer / CoreSimulator / Devices / [DeviceID] / data / Media / DCIM / 100APPLE


2

Самое простое решение - просто войти в iCloud на симуляторе, а затем использовать его для передачи любых файлов на диске, включая фотографии.


1

Просто перетащите изображение в симулятор iphone. откроется браузер, чтобы показать ваше изображение. нажимайте на изображение, пока не получите параметры для сохранения изображения. затем сохраните изображение. Это оно :). Вы увидите свое изображение в приложении Фото в вашем симуляторе ....


1

Я написал скрипт bash для этого. Проверьте ссылку [1]

#!/bin/bash

# Imports pictures into all iOS simulators.

path_to_pic="src/ios/pictures/"

mkdir -p /Users/$(whoami)/Library/Application\ Support/iPhone\ Simulator/{5.0,5.1,6.0,6.1}/Media/DCIM/100APPLE/
find ~/Library/Application\ Support/iPhone\ Simulator/ -type d -name '100APPLE' -exec cp /Users/$(whoami)/$path_to_pic/* {} \;

[1]: https://gist.github.com/firesofmay/5194901


1

Просто скажу вам: решение KONG также работает на iOS 7 beta.

Его решение было:

Перетащите изображение в симулятор, затем откроется Safari (или перейдите к изображению в Интернете с помощью Safari). Нажмите и удерживайте изображение. Когда появится всплывающее окно, выберите «Сохранить изображение» и наслаждайтесь;)


1

Мне просто нужно было несколько случайных изображений для тестирования, вот как я это сделал.

У меня самое простое решение в мире. Просто откройте Safari в симуляторе, перейдите к изображениям Google (или вашему веб-адресу или URL-адресу Dropbox), просмотрите изображение, удерживайте кнопку мыши в течение 2 секунд, и вы увидите «Сохранить изображение» - оно сохранится прямо в Фотографий библиотека. Промыть и повторить.


1

Еще более простой способ: открыть сафари на симуляторе> коснитесь www.google.com, найдите случайные фотографии «природа», откройте каждое изображение, нажмите на него и сохраните.


1

С помощью функции перетаскивания вы потеряете все метаданные фотографий.

Я создал проект, который позволяет легко импортировать активы в симулятор: MBAssetsImporter .

Это позволяет импортировать как видео, так и фотографии, сохраняя все исходные метаданные файлов.


1

1. CD по этому пути:

/ Пользователи / [пользователь macOS] / Библиотека / Разработчик / CoreSimulator / Устройства / [Идентификатор симулятора] / Данные / Мультимедиа / DCIM / 100APPLE

[Идентификатор симулятора] или UDID можно найти по адресу: Аппаратное обеспечение => устройство => управлять устройствами.

например. cd / Пользователи / rnDeveloper / Библиотека / Разработчик / CoreSimulator / Устройства / 7508171A-DC5D-47CF-9BE1-FF950326E3DB / данные / Медиа / DCIM / 100APPLE

2. Загрузите фото, запустив эту команду:

curl -o pic_001.jpg " https://s-media-cache-ak0.pinimg.com/474x/49/25/7a/49257a4b3287b7841922ecdff855fd80.jpg "

3. Перезапустите симулятор, чтобы увидеть новые файлы.


1

С iOS 11 и Xcode 9 просто перетащите фотографии в симулятор. Он автоматически импортирует их в приложение «Библиотека». Очень просто!

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.