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?

Vijayeta
źródło
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.

Airsource Ltd
źródło
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

KONG
źródło
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
129

3 proste kroki

  1. Przeciągnij i upuść obraz na symulatorze
    - otworzy to przeglądarkę z twoim obrazem
  2. Kliknij i przytrzymaj obraz
    - spowoduje to otwarcie opcji
  3. zapisz obraz
    - spowoduje to skopiowanie obrazu do symulatora

Obejrzyj wideo na YouTube (dodaj zdjęcia do symulatora iPhone'a)

użytkownik380427
źródło
Nie działa dla wideo. Ponieważ nic nie dzieje się po długim naciśnięciu ekranu.
Bagusflyer,
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”

Jeremy Huddleston Sequoia
źródło
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
Koen
źródło
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ęć

Jayprakash Dubey
źródło
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!

Arel
źródło
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
użytkownik2966386
źródło
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
17

Po prostu przeciągnij obrazy do symulatora iPhone'a.

Mihail Salari
źródło
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.

Donald Burr
źródło
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

Ammar Mujeeb
źródło
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.

Arshad Parwez
źródło
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

Deepak Keswani
źródło
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.

gorzki
źródło
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.

Robin Summerhill
źródło
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”.

Joe Smith
źródło
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.
C_compnay
źródło
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

Tomasz
źródło
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.

sabross
źródło
2

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

bcd
źródło
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

tbago
źródło
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ęć.

prolfe
źródło
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 ....

Bhagirath
źródło
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

firesofmay
źródło
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ę;)

mathgag555
źródło
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ć.

Justin Schier
źródło
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.

czarny księżyc
źródło
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.

Mati Bot
źródło
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.

Thanh Lam
źródło
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!

aramusss
źródło