Aggiunta di immagini o video a iPhone Simulator


273

Sto cercando di utilizzare UIImagePickerControllercon UIImagePickerControllerSourceTypePhotoLibrary, ma dice "Nessuna foto". Da dove il simulatore ottiene le immagini? Dove devo copiare le immagini in modo che vengano visualizzate nel simulatore?


53
Trascina le immagini sul simulatore di iPhone. Quindi fare clic con il tasto destro sull'immagine per salvarla.
Fattie,

3
Non ho potuto fare clic con il tasto destro del mouse con la sim corrente ma ho potuto fare clic sull'icona "Condividi" e quindi salvare l'immagine.
Scott Rowley,

La risposta di Scott Rowley ha funzionato per me, e Joe Blow no. Penso che questa potrebbe essere una differenza di versione di Xcode 5.1.1.
Sostituisce il

Risposte:


230

Il modo più semplice per ottenere immagini, video, ecc. Sul simulatore è trascinarli dal computer al simulatore. Ciò farà sì che il simulatore apra l'app Foto e inizi a popolare la libreria.


Se si desidera un metodo di script, continua a leggere.

Nota: mentre questo è valido e funziona, penso che la soluzione di Koen di seguito sia ora migliore, poiché non richiede il riavvio del simulatore.

Identifica il tuo simulatore andando su xCode-> Dispositivi, selezionando il tuo simulatore e controllando il valore Identificatore.

Vai a

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

e aggiungi IMG_nnnn.THM e IMG_nnnn.JPG. Sarà quindi necessario ripristinare il simulatore (Hardware-> Riavvia) per consentirgli di notare le nuove modifiche. Non importa se non sono JPEG: possono essere entrambi PNG, ma sembra che entrambi debbano essere presenti affinché funzioni. Potrebbe essere necessario creare DCIM se non esiste già e in tal caso dovresti iniziare nnnn da 0001. I file JPG sono la versione fullsize, mentre i file THM sono l'anteprima e hanno dimensioni 75x75 pixel. Ho scritto una sceneggiatura per farlo, ma ce n'è una meglio documentata qui (-link non funziona più).

Puoi anche aggiungere foto da Safari nel simulatore, toccando e tenendo premuto sull'immagine. Se trascini un'immagine (o qualsiasi altro file, come un PDF) sul simulatore, aprirà immediatamente Safari e visualizzerà l'immagine, quindi questo è un modo abbastanza semplice per ottenere immagini.


Sotto iPhone SDK 3.0, questo è cambiato solo un po '. Ora, i file di miniature (".THM") devono andare sotto 100APPLE / .MISC. Altrimenti, tutte le foto appariranno come scatole nere.

Come si aggiorna l'icona nella cella Foto salvate nella vista tabella Album fotografico principale?
Simon Woodside,

3
La mia posizione è a~/Library/Application Support/iPhone Simulator/3.1.3/Media/DCIM/100APPLE
gak

3
Per me con il simulatore 5.1, non hai bisogno dei file .THM e la directory deve essere ~ / Library / Application Support / iPhone Simulator / 5.1 / Media / DCIM / 100APPLE Il link di script nella risposta non funzionava più per quindi ho montato la mia sceneggiatura qui: gist.github.com/3738695
Dav Yaginuma,

11
Sfortunatamente con iOS6, questa tecnica non funziona più. Questa piccola app di importazione che puoi eseguire nel simulatore funziona bene però - aptogo.co.uk/2010/09/importing-photos Vedi le risposte con le valutazioni più basse sotto questa.
Kenny Grant,

444

Spiega passo dopo passo la risposta di Airsource Ltd per l'aggiunta di immagini al simulatore:

  1. Trascinalo sul simulatore, quindi Safari si apre (o naviga sull'immagine in Internet usando Safari)
  2. Tieni premuto il clic sull'immagine
  3. Quando viene visualizzato il popup, scegli Salva immagine e divertiti;)

Aggiornamento: per iOS Simulator 4.2, eseguire questi passaggi due volte per farlo funzionare. Grazie kevboh!

Aggiornamento: funziona anche con iOS Simulator 6.1


1
Questo non funziona per me con il simulatore iOS versione 4.2 (235). Posso eseguire i passaggi 1-3 bene, ma quando vado a "Foto" non vedo nulla.
Mark Fowler,

2
Questo ha funzionato per me quando non avevo app aperte, quando avevo un'app aperta ha seguito gli stessi passaggi ma in realtà non ha funzionato.
Tristan Warner-Smith,

il formato dell'immagine dovrebbe essere solo .jpg..non funzionerebbe per .png penso
Talktobijju

1
Wow, è stato così facile che mi sembrava di tradire! A proposito, come notato da @KarenAnne, funziona nel simulatore iOS 6.0, con le foto che finiscono in ~ / Library / Application Support / iPhone Simulator / 6.0 / Media / DCIM / 100APPLE e (sembra) nessun file .THM. In ogni caso, ottimo consiglio!
Dave Marley,

Funziona perfettamente anche con iOS7. Bella risposta.
Craig Day


62

Con iOS 8.0, abbiamo aggiunto la possibilità di trascinare e rilasciare le immagini nel simulatore iOS. Puoi trascinare un gruppo di immagini nella finestra e dovrebbero essere importate nella bobina per quel dispositivo simulato. Puoi anche farlo con lo strumento da riga di comando simctl. "xcrun simctl addphoto"


2
Grazie! Grande caratteristica. Nota che non puoi trascinarli sull'icona del Dock, devi trascinarli nella finestra del Simulatore. Spero che sia cambiato presto per consentire il trascinamento sull'icona.
Jordan H,

Il trascinamento sull'icona del Dock dovrebbe portare le finestre dell'app in primo piano (come se si trascina sull'icona del dock del Finder).
Jeremy Huddleston Sequoia,

Ciao @JeremyHuddlestonSequoia! Due domande: il comando funziona solo per immagini, non video, giusto? Inoltre, esiste un modo per inserire informazioni simil-momento nel simulatore (ovvero creare più momenti, eventualmente retrodatati, ecc.)?
julien_c,

1
Corretta. È solo per aggiungere foto. Non può essere utilizzato per i video. Non sono a conoscenza di un modo per retrodatare gli eventi, ma ciò potrebbe essere possibile tramite l'app Foto. In caso contrario, varrebbe sicuramente la pena di inviare un radar su bugreport.apple.com
Jeremy Huddleston Sequoia,

@JeremyHuddlestonSequoia, Non conserva i metadati originali delle risorse. Dai un'occhiata al mio progetto che ti aiuta a importare le tue risorse preservando tutti i metadati (compresi i video!) Github.com/matibot/MBAssetsImporter
Mati Bot

45

Da Xcode 6 è possibile utilizzare lo strumento da riga di comando xcrun simctl.

L'uso è molto semplice; per aggiungere una foto al simulatore attualmente in esecuzione si utilizza il bootedsegnaposto.

xcrun simctl addmedia booted ./MyFile.jpg

Per aggiungerlo a qualsiasi altro simulatore, si utilizza l'ID del dispositivo, che può essere trovato eseguendo xcrun simctl list.

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

L'ultimo comando "xcrun simctl addmedia E201E636-CE6C-11E5-AB30-625662870761 ./MyFile.jpg" sembra funzionare solo se il simulatore è in esecuzione. Speravo che ci sarebbe stata una soluzione per aggiungere immagini senza correre cioè prepararsi prima di eseguire un simulatore.
StackUnderflow l'

26

È semplice. Segui questi passaggi:

  1. Trascina e rilascia l'immagine sul Simulatore
  2. Ora l'immagine si apre nel browser Safari (file: //.../ImageName). Tocca e tieni premuto sull'immagine.
  3. Questo visualizza il foglio di azione con l'opzione Salva, Annulla (Copia anche nel caso del simulatore iOS 7).

    Schermata per foglio di azione

  4. Salva l'immagine. L'immagine viene aggiunta nella libreria.

    Fototeca


22

Mi sono appena imbattuto in come caricare collettivamente le immagini sul simulatore iOS. (L'ho confermato solo il 6.1.)

  1. Eseguire il backup della cartella:

    ~/Library/Application Support/iPhone Simulator/6.1/Media
  2. Copia tutte le tue immagini nella cartella:

    ~/Library/Application Support/iPhone Simulator/6.1/Media/DCIM/100APPLE
  3. Sposta o elimina la cartella:

    ~/Library/Application Support/iPhone Simulator/6.1/Media/PhotoData
  4. Riavvia il simulatore iOS

  5. Apri l' app Foto

Il simulatore ripristinerà tutte le immagini dalla cartella 100APPLE!


1
Soluzione eccellente Avevo lasciato cadere le mie foto nella cartella Media / DCIM ma dovevo anche eliminare la cartella PhotoData. E questo funziona anche con iOS 7.
Swindler,

Funziona anche per iOS7! Grazie!
Klaas,

1
Dei quattro metodi che ho provato con iOS7.0.3 simulatore da 4 pollici, questo è l'unico che ha funzionato, anche se ho scoperto di avere duplicati di ogni immagine. Upvoted.
Ash,

1
Sono stato in grado di utilizzare questo progetto github sotto iOS7.0 per importare le immagini github.com/basilhe/iOS-Simulator-Photo-Importer . Sembra essere una variante dell'importatore di foto menzionato prima, ma fa anche video.
Rob,

Grazie! Mi chiedevo perché le foto che ho trasferito non vengano visualizzate anche se le ho già inserite in Media / DCIM / 100APPLE. Si scopre che esiste un ulteriore passaggio per l'eliminazione della cartella Media / PhotoData.
KarenAnne,

22

Per iOS 7 ho fatto quanto segue:

copia le foto in queste due cartelle:

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

elimina solo questi 4 file (per evitare duplicati al riavvio):

~/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
L'eliminazione dei *.sqlite-file ha funzionato per me. Grazie!
Zorayr,

Eccellente, mi ha davvero aiutato. Ho provato diversi metodi e fino ad ora stavo facendo il drag and drop. Ma è più semplice quando devi copiare troppe immagini :)
Anand

5
Con iOS 8, ora puoi trascinare le foto sul simulatore :)
VaporwareWolf

A differenza della risposta di Arel, i film spostati in DCIM / 100APPLE non saranno disponibili con questa tecnica.
Steven Fisher,


15

Questo è MOLTO più semplice con il nuovo simulatore iOS fornito con Xcode 6+ (iOS Simulator 8.1 e versioni successive). Ora tutto ciò che devi fare è trascinare una o più foto nella finestra del simulatore iOS e invece di aprire Safari, l'app Foto si apre e aggiunge istantaneamente tutte le foto trascinate sul dispositivo.


11

Metodo 1 (modo più semplice): se hai la tua immagine su Mac

Puoi trascinare un'immagine dal Finder sul tuo Mac a Simulator e viene salvata nell'album Foto salvate.

Metodo 2: se si trova su qualsiasi URL

Per salvare un'immagine da una pagina Web all'app Foto

  1. Posiziona il puntatore sull'immagine che desideri salvare e tieni premuto il pulsante del mouse o il trackpad.
  2. Quando viene visualizzato il menu, fai clic su Salva immagine per salvare l'immagine nell'app Foto in un simulatore iOS.
  3. L'immagine viene salvata nell'album Foto salvate nell'app Foto.

Incase qualcuno in cerca di documentazione Apple sulla copia e incolla in Simulator. Salva immagine da Safari


L'unico inconveniente è che non funziona con più immagini contemporaneamente.
Antzi,

Funziona bene con più immagini. Non riesco a credere che non lo sapessi prima.
Abbaglia l'

9

Nessuna delle risposte aveva la soluzione esatta di cui avevo bisogno.

I passaggi che ho trovato per me stesso lavorando su iOS 5.0 e versioni successive simulatore sono i seguenti:

  1. Chiudi il simulatore se sta eseguendo il progetto xcode.

  2. Esegui il simulatore dal dock facendo clic su di esso.

  3. Trascina e rilascia l'immagine nel simulatore.

  4. Tocca e tieni premuta l'immagine (aperta in Safari) e seleziona l'opzione di salvataggio.

Hai fatto.


Le immagini finiscono con l'anteprima alla risoluzione 552x668, che non è l'immagine originale. Al contrario, l'importatore di immagini conserva la risoluzione originale dell'immagine.
Rob,

7

Per iOS 5.1 questo viene ulteriormente modificato in un nuovo percorso

~ / Libreria / Supporto applicazioni / Simulatore iPhone / 5.1 / Media / DCIM / 100APPLE


7

A partire da iOS 8, puoi semplicemente trascinare tutte le tue foto sulla finestra del simulatore e queste verranno salvate automaticamente sul rullino fotografico. Puoi fare quanti ne vuoi alla volta.


È stato molto piacevole scoprirlo oggi, soprattutto per testare le prestazioni delle viste di raccolta con un'enorme quantità di dati immagine + ottimizzazione di NSCache.
Eric Goldberg,

Questo ha smesso di funzionare su XCode 10 (testato su 10.1), iOS 12.1 :(
endavid

6

Se devi importare più di una o due foto, dai un'occhiata a questo articolo che ho scritto. Descrive un modo semplice per eseguire un'importazione in blocco di foto e funziona con iOS 4.x.


Questo ha funzionato per me, ma dovevo apportare una semplice modifica all'app: poiché sto eseguendo il simulatore 4.2 e questo è stato progettato per funzionare su 4.0 (che non ho), sono andato a "Progetto" -> "Modifica impostazioni progetto" e poi in "Architetture" ho cambiato "Base SDK" in "Ultimo iOS".
Mark Fowler,

5

Per iOS 8, se non è necessario conservare la data e la posizione di acquisizione delle foto, è sufficiente rilasciare i file di foto nel simulatore.

Per conservare i metadati delle foto, procedi come segue:

  1. Copia i file di foto in: / Users / {USER} / Library / Developer / CoreSimulator / Devices / {UDID} / data / Media / DCIM / 100Apple
  2. Rimuovi (o rinomina) la cartella: / Users / {USER} / Library / Developer / CoreSimulator / Devices / {UDID} / data / Media / photoData
  3. Riavvia simulatore

Nota: è necessario sostituire {USER} con il proprio nome utente e {UDID} con l'UDID del simulatore. Per trovare UDID per il tuo simulatore, dal Terminale, esegui 'xcrun simctl list'.


Non fa differenza in 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

L'aggiunta di un'immagine a Iphone Simulation con IOS 8.0 è ancora più semplice.

  • Trascina l'immagine sul simulatore
  • IOS apre l'app Foto e l'immagine fa ora parte della tua raccolta.

Non è più necessario occuparsi di Safari


Ora puoi anche trascinare, in una volta, più foto direttamente nell'album Rullino fotografico.
Paul Ardeleanu,

1
@PaulArdeleanu, hai ragione. Tuttavia, non conserva i metadati originali delle risorse. Dai un'occhiata ai miei progetti che ti aiutano a importare le tue risorse preservando tutti i metadati github.com/matibot/MBAssetsImporter
Mati Bot

1
@MatiBot, MBAssetsImporter è ottimo per il trasferimento di immagini in blocco - grazie mille!
user2067021

2

Per iOS 4.2 ho dovuto andare a creare la cartella 100APPLE e riavviare il simulatore, quindi ha funzionato.


2

prova questa app che ho creato. scarica il codice ed eseguilo nel simulatore https://github.com/cristianbica/CBSimulatorSeed


Non funziona subito con iOS7 - dice qualcosa sul fatto che cocoaPods non è sincronizzato.
Ash,

Bene, è necessario eseguire l'installazione pod per installare i pod poiché non si trovano nel repository. Ho aggiornato il file README
bcd del

2

Per iOS 8.0, la risposta non è aggiornata. Ho trovato la risorsa multimediale nel seguente percorso: ~ / Library / Developer / CoreSimulator / Devices / [DeviceID] / data / Media / DCIM / 100APPLE


2

La soluzione più semplice è semplicemente accedere a iCloud sul simulatore e quindi utilizzarlo per trasferire qualsiasi file nell'unità, comprese le foto.


1

Basta trascinare e rilasciare l'immagine nel simulatore di iPhone. il browser si aprirà per mostrare la tua immagine. premi sull'immagine fino a quando non ricevi le opzioni per salvare l'immagine. quindi Salva immagine. questo è tutto :). vedrai la tua immagine nell'app Photo nel tuo simulatore ....


1

Ho scritto uno script bash per farlo. Controlla il 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

Solo per dirti: la soluzione di KONG funziona anche su iOS 7 beta.

La sua soluzione era:

Trascina l'immagine sul simulatore, quindi Safari si apre (o naviga sull'immagine in Internet usando Safari) Tieni premuto il clic sull'immagine Quando appare il pop-up, scegli Salva immagine e divertiti;)


1

Avevo solo bisogno di alcune immagini casuali per i test, quindi è così che l'ho fatto.

Ho la soluzione più semplice al mondo. Apri Safari nel simulatore, vai su Google images (o sul tuo Web o URL Dropbox), visualizza un'immagine, tieni premuto il pulsante del mouse per 2 secondi e vedrai "Salva immagine": verrà salvato direttamente nel Libreria di foto. Risciacqua e ripeti.


1

un modo ancora più semplice è: apri Safari sul simulatore> tocca www.google.com cerca foto casuali "natura" apri ogni immagine, pigia su di essa e salvala.


1

Con la funzione di trascinamento della selezione perderai tutti i metadati delle foto.

Ho creato un progetto che semplifica l'importazione di risorse nel simulatore: MBAssetsImporter .

Ti consente di importare sia video che foto preservando tutti i metadati originali dei file.


1

1. CD per questo percorso:

/ Utenti / [utente macOS] / Libreria / Sviluppatore / CoreSimulator / Dispositivi / [Identificatore simulatore] / dati / Media / DCIM / 100APPLE

[Identificatore simulatore] o UDID sono disponibili all'indirizzo: Hardware => dispositivo => gestisci dispositivi.

per esempio. cd / Users / rnDeveloper / Library / Developer / CoreSimulator / Devices / 7508171A-DC5D-47CF-9BE1-FF950326E3DB / data / Media / DCIM / 100APPLE

2. Scarica la foto eseguendo questo comando:

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

3. Riavvia il simulatore per vedere i nuovi file.


1

Con iOS 11 e Xcode 9, trascina e rilascia le foto sul simulatore. Li importerà automaticamente nell'app Libreria. Molto facile!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.