Dodawanie zdjęć lub filmów do iPhone Simulator


273

Próbuję używać UIImagePickerControllerz UIImagePickerControllerSourceTypePhotoLibrary, ale jest napisane: „Brak zdjęć”. Skąd symulator pobiera obrazy? Gdzie mam skopiować obrazy, aby były wyświetlane w symulatorze?


53
Przeciągnij obrazy do symulatora iPhone'a. Następnie kliknij obraz prawym przyciskiem myszy, aby go zapisać.
Fattie,

3
Nie mogłem kliknąć prawym przyciskiem myszy w bieżącej karcie SIM, ale mogłem kliknąć ikonę „Udostępnij”, a następnie zapisać obraz.
Scott Rowley

Odpowiedź Scotta Rowleya zadziałała dla mnie, a Joe Blow nie. Myślę, że może to być różnica w wydaniu Xcode 5.1.1.
erstaples

Odpowiedzi:


230

Najprostszym sposobem na przeniesienie obrazów, filmów itp. Na symulator jest przeciągnięcie i upuszczenie ich z komputera na symulatorze. Spowoduje to, że symulator otworzy aplikację Zdjęcia i zacznie zapełniać bibliotekę.


Jeśli chcesz metodę skryptową, czytaj dalej.

Uwaga - chociaż jest to poprawne i działa, myślę, że poniższe rozwiązanie Koena jest teraz lepsze, ponieważ nie wymaga ponownego uruchamiania symulatora.

Zidentyfikuj symulator, przechodząc do xCode-> Urządzenia, wybierając symulator i sprawdzając wartość identyfikatora.

Iść do

~ / Library / Developer / CoreSimulator / Devices / [Simulator Identifier] / data / Media / DCIM / 100APPLE

i dodaj IMG_nnnn.THM i IMG_nnnn.JPG. Będziesz wtedy musiał zresetować symulator (Sprzęt-> Uruchom ponownie), aby mógł zauważyć nowe zmiany. Nie ma znaczenia, czy nie są to pliki JPEG - oba mogą być plikami PNG, ale wydaje się, że oba muszą być obecne, aby działało. Może być konieczne utworzenie DCIM, jeśli jeszcze nie istnieje, w takim przypadku powinieneś uruchomić nnnn od 0001. Pliki JPG to wersja w pełnym rozmiarze, podczas gdy pliki THM to miniatura i mają rozmiar 75x75 pikseli. Napisałem skrypt, aby to zrobić, ale jest lepiej udokumentowana jeden nad tutaj (LINK nie działają).

Możesz także dodawać zdjęcia z safari w symulatorze, dotykając i przytrzymując obraz. Jeśli przeciągniesz obraz (lub inny plik, na przykład PDF) do symulatora, natychmiast otworzy on Safari i wyświetli obraz, więc jest to dość prosty sposób na przeniesienie do niego obrazów.


W przypadku iPhone SDK 3.0 to się nieco zmieniło. Teraz pliki miniatur („.THM”) muszą znajdować się poniżej 100APPLE / .MISC. W przeciwnym razie wszystkie zdjęcia pojawią się jako czarne skrzynki.

Jak zaktualizować ikonę w komórce Zapisane zdjęcia w głównym widoku tabeli Album fotograficzny?
Simon Woodside,

3
Moja lokalizacja to~/Library/Application Support/iPhone Simulator/3.1.3/Media/DCIM/100APPLE
gak

3
Dla mnie z symulatorem 5.1 nie potrzebujesz plików .THM, a katalog musi być ~ / Library / Application Support / iPhone Simulator / 5.1 / Media / DCIM / 100APPLE Link do skryptu w odpowiedzi już nie działał mnie, więc stworzyłem swój własny skrypt tutaj: gist.github.com/3738695
Dav Yaginuma,

11
Niestety w iOS6 ta technika już nie działa. Ta mała aplikacja do importowania, którą można uruchomić w symulatorze, działa jednak dobrze - aptogo.co.uk/2010/09/importing-photos Zobacz poniżej ocenione odpowiedzi poniżej.
Kenny Grant,

444

Wyjaśnij krok po kroku odpowiedź Airsource Ltd na dodanie obrazu do symulatora:

  1. Przeciągnij go do symulatora, a następnie otworzy się Safari (lub przejdź do obrazu w Internecie za pomocą Safari)
  2. Przytrzymaj kliknięcie na obrazie
  3. Kiedy pojawi się wyskakujące okienko, wybierz Zapisz obraz i ciesz się;)

Aktualizacja: w przypadku iOS Simulator 4.2 wykonaj te kroki dwa razy, aby działało. Dzięki kevboh!

Aktualizacja: Działa to również w przypadku iOS Simulator 6.1


1
To nie działa dla mnie z symulatorem iOS w wersji 4.2 (235). Mogę dobrze wykonać kroki 1-3, ale kiedy przechodzę do „Zdjęć”, nic nie widzę.
Mark Fowler

2
To działało dla mnie, gdy nie miałem otwartych aplikacji, kiedy miałem otwartą aplikację, przeszła te same kroki, ale tak naprawdę nie działała.
Tristan Warner-Smith

format obrazu powinien być tylko .jpg .. to nie działa dla .png, myślę
Talktobijju,

1
Wow, to było tak łatwe, że czułem się, jakbym oszukiwał! BTW, jak zauważył @KarenAnne, działa to w symulatorze iOS 6.0, ze zdjęciami kończącymi się w ~ / Library / Application Support / iPhone Simulator / 6.0 / Media / DCIM / 100APPLE i (wydaje się) brak plików .THM. W każdym razie świetna wskazówka!
Dave Marley,

Działa doskonale również z iOS7. Niezła odpowiedź.
Craig Day


62

W systemie iOS 8.0 dodaliśmy możliwość przeciągania i upuszczania obrazów do symulatora systemu iOS. Możesz przeciągnąć kilka obrazów do okna i powinny one zostać zaimportowane do szpuli fotograficznej dla tego symulowanego urządzenia. Możesz to również zrobić za pomocą narzędzia wiersza polecenia simctl. „xcrun simctl addphoto”


2
Dzięki! Świetna funkcja. Pamiętaj, że nie możesz przeciągnąć ich do ikony Docku, musisz przeciągnąć je do okna symulatora. Mam nadzieję, że wkrótce się zmieni, aby umożliwić przeciąganie do ikony.
Jordan H

Przeciągnięcie do ikony Dock powinno przenieść okna aplikacji na pierwszy plan (tak jak przeciągnięcie do ikony Docku Findera).
Jeremy Huddleston Sequoia

Cześć @JeremyHuddlestonSequoia! Dwa pytania: polecenie działa tylko w przypadku zdjęć, a nie filmów, prawda? Ponadto, czy jest jakiś sposób na wprowadzenie do symulatora informacji w stylu „moment” (tj. Utworzenie wielu momentów, być może z datą wsteczną itp.)?
julien_c

1
Poprawny. Służy tylko do dodawania zdjęć. Nie można go używać do filmów. Nie znam sposobu na backdate wydarzeń, ale może to być możliwe za pośrednictwem aplikacji Zdjęcia. Jeśli nie, z pewnością warto złożyć radar na stronie bugreport.apple.com
Jeremy Huddleston Sequoia

@JeremyHuddlestonSequoia, nie zachowuje oryginalnych metadanych zasobów. Proszę spojrzeć na mój projekt, który pomaga zaimportować Twoje zasoby, zachowując jednocześnie wszystkie metadane (w tym filmy!) Github.com/matibot/MBAssetsImporter
Mati Bot

45

Od Xcode 6 możesz korzystać z narzędzia wiersza poleceń xcrun simctl.

Użycie jest bardzo proste; aby dodać zdjęcie do aktualnie działającego symulatora, użyj bootedsymbolu zastępczego.

xcrun simctl addmedia booted ./MyFile.jpg

Aby dodać go do dowolnego innego symulatora, użyj jego identyfikatora urządzenia, który można znaleźć, uruchamiając xcrun simctl list.

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

Ostatnie polecenie „xcrun simctl addmedia E201E636-CE6C-11E5-AB30-625662870761 ./MyFile.jpg” wydaje się działać tylko wtedy, gdy symulator jest uruchomiony. Miałem nadzieję, że będzie rozwiązanie, aby dodać obrazy bez uruchamiania, tj. Przygotować się przed uruchomieniem symulatora.
StackUnderflow,

26

To proste. Wystarczy wykonać następujące kroki:

  1. Przeciągnij i upuść obraz na Symulator
  2. Teraz obraz otwiera się w przeglądarce Safari (plik: //.../ImageName). Naciśnij i przytrzymaj obraz.
  3. Wyświetla arkusz akcji z opcją Zapisz, Anuluj (kopiuj także w przypadku symulatora iOS 7).

    Zrzut ekranu dla arkusza akcji

  4. Zapisz obraz. Obraz zostanie dodany do biblioteki.

    Album zdjęć


22

Właśnie natknąłem się na sposób przesyłania zbiorczego obrazów na symulatorze iOS. (Potwierdziłem to tylko w wersji 6.1.)

  1. Utwórz kopię zapasową folderu:

    ~/Library/Application Support/iPhone Simulator/6.1/Media
  2. Skopiuj wszystkie obrazy do folderu:

    ~/Library/Application Support/iPhone Simulator/6.1/Media/DCIM/100APPLE
  3. Przenieś lub usuń folder:

    ~/Library/Application Support/iPhone Simulator/6.1/Media/PhotoData
  4. Uruchom ponownie symulator iOS

  5. Otwórz aplikację Zdjęcia

Symulator przywróci wszystkie obrazy z folderu 100APPLE!


1
Doskonałe rozwiązanie Upuściłem swoje zdjęcia w folderze Media / DCIM, ale musiałem również usunąć folder PhotoData. I to działa również dla mnie z iOS 7.
Swindler,

Działa również na iOS7! Dzięki!
Klaas

1
Z czterech metod, które wypróbowałem w 4-calowym symulatorze iOS7.0.3, jest to jedyna, która zadziałała, chociaż okazało się, że mam duplikaty każdego obrazu. Pozytywne.
Ash

1
Byłem w stanie użyć tego projektu github pod iOS7.0 do importowania obrazów github.com/basilhe/iOS-Simulator-Photo-Importer . Wygląda na wariant wspomnianego wcześniej importera zdjęć, ale robi też filmy.
Rob

Dzięki! Zastanawiałem się, dlaczego przesłane przeze mnie zdjęcia nie są wyświetlane, nawet jeśli umieściłem je już w Media / DCIM / 100APPLE. Okazuje się, że istnieje dodatkowy krok usuwania folderu Media / PhotoData.
KarenAnne

22

W systemie iOS 7 wykonałem następujące czynności:

skopiuj zdjęcia do tych dwóch folderów:

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

usuń tylko te 4 pliki (aby uniknąć duplikatów przy ponownym uruchomieniu):

~/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
Usuwanie *.sqlite-plików działało dla mnie. Dzięki!
Zorayr

Doskonale, to naprawdę mi pomogło. Wypróbowałem kilka metod i do tej pory robiłem przeciąganie i upuszczanie. Ale jest to łatwiejszy sposób, gdy trzeba skopiować zbyt wiele zdjęć :)
Anand

5
Z iOS 8 możesz teraz przeciągać zdjęcia do symulatora :)
VaporwareWolf

W przeciwieństwie do odpowiedzi Arela filmy przeniesione do DCIM / 100APPLE nie będą dostępne przy użyciu tej techniki.
Steven Fisher


15

Jest to O wiele łatwiejsze dzięki nowemu Symulatorowi iOS, który jest dostarczany z Xcode 6+ (iOS Simulator 8.1 i wyżej.) Teraz wystarczy przeciągnąć jedno lub więcej zdjęć do okna Symulatora iOS i zamiast otwierać Safari, aplikację Zdjęcia otwiera się i natychmiast dodaje wszystkie przeciągnięte zdjęcia do urządzenia.


11

Metoda 1 (najłatwiejszy sposób): jeśli masz obraz na komputerze Mac

Możesz przeciągnąć obraz z Findera na komputerze Mac do Symulatora i zostanie on zapisany w albumie Zapisane zdjęcia.

Metoda 2: Jeśli jest pod dowolnym adresem URL

Aby zapisać obraz ze strony internetowej w aplikacji Zdjęcia

  1. Umieść wskaźnik na obrazie, który chcesz zapisać, i przytrzymaj przycisk myszy lub gładzik.
  2. Po wyświetleniu menu kliknij Zapisz obraz, aby zapisać obraz w aplikacji Zdjęcia w symulatorze iOS.
  3. Obraz zostanie zapisany w albumie Zapisane zdjęcia w aplikacji Zdjęcia.

Dołącz do kogoś, kto szuka dokumentacji Apple dotyczącej kopiowania i wklejania w symulatorze. Zapisz obraz z Safari


Jedyną wadą jest to, że nie działa z wieloma obrazami jednocześnie.
Antzi

Działa dobrze z wieloma obrazami. Nie mogę uwierzyć, że nie wiedziałem o tym wcześniej.
Dazzle

9

Żadna z odpowiedzi nie zawierała dokładnie takiego rozwiązania, jakiego potrzebowałem.

Kroki, które znalazłem dla siebie w pracy z symulatorem iOS 5.0 i nowszym, są następujące:

  1. Zamknij symulator, jeśli jest uruchomiony projekt xcode.

  2. Uruchom symulator z doku, klikając go.

  3. Przeciągnij i upuść obraz do symulatora.

  4. Naciśnij i przytrzymaj obraz (otwarty w safari) i wybierz opcję zapisywania.

Gotowe.


Obrazy kończą się miniaturami do rozdzielczości 552 x 668, co nie jest oryginalnym obrazem. Natomiast importer obrazów zachowuje oryginalną rozdzielczość obrazu.
Rob

7

W iOS 5.1 jest to dalej zmieniane na nową ścieżkę

~ / Biblioteka / Obsługa aplikacji / iPhone Simulator / 5.1 / Media / DCIM / 100APPLE


7

Począwszy od iOS 8, możesz po prostu przeciągnąć wszystkie swoje zdjęcia do okna symulatora, a zostaną one automatycznie zapisane w rolce z aparatu. Możesz zrobić tyle, ile chcesz.


To było bardzo przyjemne, aby dowiedzieć się dzisiaj, szczególnie w przypadku testowania wydajności widoków kolekcji z ogromną ilością danych obrazu + optymalizacja NSCache.
Eric Goldberg,

To przestało działać na XCode 10 (testowany na 10.1), iOS 12.1 :(
endavid

6

Jeśli chcesz zaimportować więcej niż jedno lub dwa zdjęcia, zapoznaj się z tym artykułem, który napisałem. Opisuje prosty sposób na masowe importowanie zdjęć i działa na iOS 4.x.


To działało dla mnie, ale musiałem dokonać prostej zmiany w aplikacji: Ponieważ korzystam z symulatora 4.2 i został on zaprojektowany do pracy w wersji 4.0 (której nie mam), wybrałem opcję „Projekt” -> „Edytuj ustawienia projektu”, a następnie w „Architekturach” zmieniłem „Podstawowy zestaw SDK” na „Najnowsze iOS”.
Mark Fowler

5

W przypadku iOS 8, jeśli nie ma potrzeby przechowywania daty i lokalizacji robienia zdjęć, po prostu upuść pliki zdjęć do symulatora.

Aby zachować metadane zdjęcia, wykonaj następujące czynności:

  1. Skopiuj pliki zdjęć do: / Users / {USER} / Library / Developer / CoreSimulator / Devices / {UDID} / data / Media / DCIM / 100Apple
  2. Usuń (lub zmień nazwę) folder: / Users / {USER} / Library / Developer / CoreSimulator / Devices / {UDID} / data / Media / photoData
  3. Uruchom ponownie symulator

Uwaga: musisz zastąpić {USER} nazwą użytkownika i {UDID} identyfikatorem UDID symulatora. Aby znaleźć UDID dla swojego symulatora, w Terminalu uruchom „xcrun simctl list”.


Nie robi różnicy w 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

Dodanie obrazu do Iphone Simulation z systemem IOS 8.0 jest jeszcze łatwiejsze.

  • Przeciągnij obraz do symulatora
  • IOS otwiera aplikację Photo, a Twój obraz jest teraz częścią Twojej kolekcji.

Nie musisz już zajmować się Safari


Możesz teraz przeciągnąć za jednym razem wiele zdjęć bezpośrednio do albumu Rolka z aparatu.
Paul Ardeleanu,

1
@PaulArdeleanu, masz rację. Jednak nie zachowuje oryginalnych metadanych zasobów. Proszę spojrzeć na moje projekty, które pomagają zaimportować twoje zasoby, zachowując jednocześnie wszystkie metadane github.com/matibot/MBAssetsImporter
Mati Bot

1
@MatiBot, MBAssetsImporter jest świetny do masowego przesyłania zdjęć - wielkie dzięki!
user2067021

2

W systemie iOS 4.2 musiałem utworzyć folder 100APPLE i ponownie uruchomić symulator, a potem zadziałało.


2

wypróbuj tę aplikację, którą stworzyłem. pobierz kod i uruchom go w symulatorze https://github.com/cristianbica/CBSimulatorSeed


Nie działa od razu po wyjęciu z pudełka pod iOS7 - mówi coś o braku synchronizacji cocoaPods.
Ash

Musisz zainstalować pod, aby zainstalować pods, ponieważ nie ma ich w repozytorium. Zaktualizowałem plik README
bcd

2

W przypadku systemu iOS 8.0 odpowiedź jest nieaktualna. Znalazłem zasób multimedialny w następującej ścieżce: ~ / Library / Developer / CoreSimulator / Devices / [DeviceID] / data / Media / DCIM / 100APPLE


2

Najprostszym rozwiązaniem jest zalogowanie się do iCloud na symulatorze, a następnie użycie go do przesłania dowolnych plików na dysku, w tym zdjęć.


1

Po prostu przeciągnij i upuść obraz do symulatora iPhone'a. otworzy się przeglądarka, aby wyświetlić twój obraz. naciskaj obraz, dopóki nie pojawi się opcja zapisania obrazu. następnie Zapisz obraz. Otóż ​​to :). zobaczysz swój obraz w aplikacji Photo w symulatorze ....


1

Napisałem skrypt bash, aby to zrobić. Sprawdź link [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

Mówiąc krótko: rozwiązanie KONG działa również na iOS 7 beta.

Jego rozwiązaniem było:

Przeciągnij obraz do symulatora, a następnie otworzy się Safari (lub przejdź do obrazu w Internecie za pomocą Safari) Przytrzymaj kliknięcie na obrazie Kiedy pojawi się wyskakujące okienko, wybierz Zapisz obraz i ciesz się;)


1

Potrzebowałem tylko losowych obrazów do testowania, więc tak to zrobiłem.

Mam najprostsze rozwiązanie na świecie. Wystarczy otworzyć Safari w symulatorze, przejść do obrazów Google (lub własnej strony internetowej lub URL Dropbox), wyświetlić obraz, przytrzymać przycisk myszy przez 2 sekundy, a zobaczysz „Zapisz obraz” - zapisze się bezpośrednio w Biblioteka zdjęć. Wypłukać i powtórzyć.


1

jeszcze łatwiejszym sposobem jest: otwórz safari na symulatorze> dotknij www.google.com wyszukaj losowe zdjęcia „natura” otwórz każde zdjęcie, naciśnij je i zapisz.


1

Dzięki funkcji przeciągnij i upuść utracisz wszystkie metadane zdjęć.

Stworzyłem projekt, który naprawdę ułatwia importowanie zasobów do symulatora: MBAssetsImporter .

Umożliwia importowanie zarówno filmów, jak i zdjęć przy jednoczesnym zachowaniu wszystkich oryginalnych metadanych plików.


1

1. CD do tej ścieżki:

/ Users / [użytkownik macOS] / Library / Developer / CoreSimulator / Devices / [Simulator Identifier] / data / Media / DCIM / 100APPLE

[Identyfikator symulatora] lub identyfikator UDID można znaleźć na stronie: Sprzęt => urządzenie => zarządzaj urządzeniami.

na przykład. cd / Users / rnDeveloper / Library / Developer / CoreSimulator / Devices / 7508171A-DC5D-47CF-9BE1-FF950326E3DB / data / Media / DCIM / 100APPLE

2. Pobierz zdjęcie, uruchamiając to polecenie:

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

3. Uruchom ponownie symulator, aby zobaczyć nowe pliki.


1

W iOS 11 i Xcode 9 po prostu przeciągnij i upuść zdjęcia do symulatora. Automatycznie zaimportuje je w aplikacji Biblioteka. Bardzo łatwe!

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.