Ajout d'images ou de vidéos au simulateur iPhone

273

J'essaie d'utiliser UIImagePickerControlleravec UIImagePickerControllerSourceTypePhotoLibrary, mais il dit, "Pas de photos". D'où le simulateur obtient-il les images? Où dois-je copier les images pour qu'elles s'affichent dans le simulateur?

Vijayeta
la source
53
Faites glisser des images vers le simulateur iPhone. Cliquez ensuite avec le bouton droit sur l'image pour l'enregistrer.
Fattie
3
Je ne pouvais pas faire un clic droit dessus avec la carte SIM actuelle mais je pouvais cliquer sur l'icône "Partager" puis enregistrer l'image.
Scott Rowley
La réponse de Scott Rowley a fonctionné pour moi, et celle de Joe Blow non. Je pense que cela pourrait être une différence de version Xcode 5.1.1.
erstaples

Réponses:

230

Le moyen le plus simple d'obtenir des images, des vidéos, etc. sur le simulateur est de les faire glisser de votre ordinateur vers le simulateur. Cela entraînera le simulateur pour ouvrir l'application Photos et commencer à remplir la bibliothèque.


Si vous voulez une méthode scriptable, lisez la suite.

Remarque - bien que cela soit valide et fonctionne, je pense que la solution de Koen ci - dessous est maintenant meilleure, car elle ne nécessite pas de redémarrer le simulateur.

Identifiez votre simulateur en accédant à xCode-> Périphériques, en sélectionnant votre simulateur et en vérifiant la valeur de l'identifiant.

Aller à

~ / Bibliothèque / Développeur / CoreSimulator / Devices / [Simulator Identifier] / data / Media / DCIM / 100APPLE

et ajoutez IMG_nnnn.THM et IMG_nnnn.JPG. Vous devrez ensuite réinitialiser votre simulateur (Matériel-> Redémarrer) pour lui permettre de remarquer les nouveaux changements. Peu importe qu'ils ne soient pas JPEG - ils peuvent tous deux être des fichiers PNG, mais il semble que les deux doivent être présents pour que cela fonctionne. Vous devrez peut-être créer DCIM s'il n'existe pas déjà, et dans ce cas, vous devriez démarrer nnnn à partir de 0001. Les fichiers JPG sont la version pleine taille, tandis que les fichiers THM sont la miniature et mesurent 75 x 75 pixels. J'ai écrit un script pour ce faire, mais il y en a un mieux documenté ici (-link ne fonctionne plus).

Vous pouvez également ajouter des photos de safari dans le simulateur, en appuyant longuement sur l'image. Si vous faites glisser une image (ou tout autre fichier, comme un fichier PDF) vers le simulateur, il ouvrira immédiatement Safari et affichera l'image, c'est donc un moyen assez simple d'y obtenir des images.

Airsource Ltd
la source
Sous iPhone SDK 3.0, cela a légèrement changé. Maintenant, les fichiers miniatures (".THM") doivent aller sous 100APPLE / .MISC. Sinon, toutes les photos apparaîtront sous forme de boîtes noires.
Comment mettre à jour l'icône sur la cellule Photos enregistrées dans la vue principale du tableau Album photo?
Simon Woodside
3
Mon emplacement est à~/Library/Application Support/iPhone Simulator/3.1.3/Media/DCIM/100APPLE
gak
3
Pour moi avec le simulateur 5.1, vous n'avez pas besoin des fichiers .THM et le répertoire doit être ~ / Library / Application Support / iPhone Simulator / 5.1 / Media / DCIM / 100APPLE Le lien de script dans la réponse ne fonctionnait plus pour moi donc j'ai concocté
Dav Yaginuma
11
Malheureusement avec iOS6, cette technique ne fonctionne plus. Cette petite application d'importation que vous pouvez exécuter dans le simulateur fonctionne bien - aptogo.co.uk/2010/09/importing-photos Voir les réponses les moins bien notées ci-dessous.
Kenny Grant
444

Expliquez étape par étape la réponse d'Airsource Ltd pour ajouter une image au simulateur:

  1. Faites-le glisser vers le simulateur, puis Safari s'ouvre (ou accédez à l'image sur Internet à l'aide de Safari)
  2. Maintenez votre clic sur l'image
  3. Lorsque la fenêtre contextuelle apparaît, choisissez Enregistrer l'image et profitez;)

Mise à jour: pour iOS Simulator 4.2, procédez deux fois pour le faire fonctionner. Merci kevboh!

Mise à jour: cela fonctionne également pour iOS Simulator 6.1

KONG
la source
1
Cela ne fonctionne pas pour moi avec le simulateur iOS version 4.2 (235). Je peux exécuter les étapes 1 à 3 très bien, mais quand je vais dans "Photos", je ne vois rien.
Mark Fowler
2
Cela a fonctionné pour moi quand je n'avais aucune application ouverte, quand j'ai eu une application ouverte, elle a suivi les mêmes étapes mais n'a pas vraiment fonctionné.
Tristan Warner-Smith
le format d'image devrait être .jpg uniquement .. cela ne fonctionnerait pas pour .png je pense
Talktobijju
1
Wow, c'était si facile que j'avais l'impression de tricher! BTW comme indiqué par @KarenAnne, cela fonctionne dans le simulateur iOS 6.0, avec des photos se terminant dans ~ / Library / Application Support / iPhone Simulator / 6.0 / Media / DCIM / 100APPLE et (il semble) aucun fichier .THM. En tout cas, bonne astuce!
Dave Marley
Fonctionne également parfaitement avec iOS7. Bonne réponse.
Craig Day
129

3 étapes simples

  1. Glissez et déposez l'image sur le simulateur
    - cela ouvrira un navigateur avec votre image
  2. Cliquez et maintenez l'image
    - cela ouvrira des options
  3. enregistrer l'image
    - cela copiera l'image sur le simulateur

Regardez la vidéo YouTube (ajoutez des images au simulateur d'iphone)

user380427
la source
Ne fonctionne pas pour la vidéo. Parce que rien ne se passe lorsque vous appuyez longuement sur l'écran.
Bagusflyer
62

Avec iOS 8.0, nous avons ajouté la possibilité de simplement faire glisser et déposer des images dans le simulateur iOS. Vous pouvez faire glisser un tas d'images dans la fenêtre, et elles doivent être importées dans la bobine de photo pour cet appareil simulé. Vous pouvez également le faire avec l'outil de ligne de commande simctl. «xcrun simctl addphoto»

Jeremy Huddleston Sequoia
la source
2
Merci! Grande fonctionnalité. Notez que vous ne pouvez pas les faire glisser vers l'icône du Dock, vous devez les faire glisser dans la fenêtre Simulator. J'espère que cela a bientôt changé pour permettre de faire glisser vers l'icône.
Jordan H
Faire glisser vers l'icône du Dock devrait mettre les fenêtres de l'application au premier plan (comme si vous faites glisser vers l'icône du Dock du Finder).
Jeremy Huddleston Sequoia
Salut @JeremyHuddlestonSequoia! Deux questions: la commande ne fonctionne que pour les photos, pas les vidéos, non? De plus, existe-t-il un moyen de saisir des informations de style "moment" dans le simulateur (c.-à-d., Créer plusieurs moments, éventuellement antidatés, etc.)?
julien_c
1
Correct. C'est juste pour ajouter des photos. Il ne peut pas être utilisé pour des vidéos. Je ne suis pas au courant d'un moyen de antidater les événements, mais cela peut être possible via l'application Photos. Sinon, cela vaudrait certainement la peine de déposer un radar sur bugreport.apple.com
Jeremy Huddleston Sequoia
@JeremyHuddlestonSequoia, il ne conserve pas les métadonnées d'origine des actifs. Veuillez jeter un œil à mon projet qui vous aide à importer vos actifs tout en préservant toutes les métadonnées (y compris les vidéos!) Github.com/matibot/MBAssetsImporter
Mati Bot
45

Depuis Xcode 6, vous pouvez utiliser l'outil de ligne de commande xcrun simctl.

L'utilisation est très simple; pour ajouter une photo au simulateur en cours d'exécution, vous utilisez l' bootedespace réservé.

xcrun simctl addmedia booted ./MyFile.jpg

Pour l'ajouter à tout autre simulateur, vous utilisez son identifiant d'appareil, qui peut être trouvé en exécutant xcrun simctl list.

xcrun simctl addmedia E201E636-CE6C-11E5-AB30-625662870761 ./MyFile.jpg
Koen.
la source
La dernière commande "xcrun simctl addmedia E201E636-CE6C-11E5-AB30-625662870761 ./MyFile.jpg" ne semble fonctionner que si le simulateur est en cours d'exécution. J'espérais qu'il y aurait une solution pour ajouter des images sans courir c'est-à-dire se préparer avant de lancer un simulateur.
StackUnderflow
26

C'est simple. Suivez simplement ces étapes:

  1. Glissez et déposez l'image sur le simulateur
  2. Maintenant, l'image s'ouvre dans le navigateur Safari (fichier: //.../ImageName). Appuyez et maintenez sur l'image.
  3. Cela affiche la feuille d'action avec l'option Enregistrer, Annuler (Copiez également dans le cas du simulateur iOS 7).

    Capture d'écran pour Actionsheet

  4. Enregistrez l'image. L'image est ajoutée à la bibliothèque.

    Galerie de photos

Jayprakash Dubey
la source
22

Je suis juste tombé sur la façon de télécharger des images en masse sur le simulateur iOS. (Je ne l'ai confirmé que le 6.1.)

  1. Sauvegardez le dossier:

    ~/Library/Application Support/iPhone Simulator/6.1/Media
  2. Copiez toutes vos images dans le dossier:

    ~/Library/Application Support/iPhone Simulator/6.1/Media/DCIM/100APPLE
  3. Déplacer ou supprimer le dossier:

    ~/Library/Application Support/iPhone Simulator/6.1/Media/PhotoData
  4. Redémarrez le simulateur iOS

  5. Ouvrez l' application Photos

Le simulateur restaurera toutes les images du dossier 100APPLE!

Arel
la source
1
Excellente solution. J'avais déposé mes photos dans le dossier Media / DCIM mais je devais également supprimer le dossier PhotoData. Et cela fonctionne aussi pour moi avec iOS 7.
Swindler
Fonctionne également pour iOS7! Merci!
Klaas
1
Des quatre méthodes que j'ai essayées sous le simulateur iOS7.0.3 4 pouces, c'est la seule qui a fonctionné, même si j'ai trouvé que j'avais des doublons de chaque image. A voté.
Ash
1
J'ai pu utiliser ce projet github sous iOS7.0 pour importer les images github.com/basilhe/iOS-Simulator-Photo-Importer . Semble être une variante de l'importateur de photos mentionné précédemment, mais fait également des vidéos.
Rob
Merci! Je me demandais pourquoi les photos que j'ai transférées ne s'affichent pas même si je les ai déjà placées dans Media / DCIM / 100APPLE. Il s'avère qu'il y a une étape supplémentaire de suppression du dossier Media / PhotoData.
KarenAnne
22

Pour iOS 7, j'ai fait ce qui suit:

copiez les photos dans ces deux dossiers:

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

supprimez ces 4 fichiers uniquement (pour éviter les doublons lors de la relance):

~/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
user2966386
la source
1
La suppression des *.sqlite-fichiers a fonctionné pour moi. Merci!
Zorayr
Excellent, cela m'a vraiment aidé. J'ai essayé plusieurs méthodes et jusqu'à présent, je faisais du glisser-déposer. Mais c'est plus simple quand vous avez besoin de copier trop d'images :)
Anand
5
Avec iOS 8, vous pouvez maintenant faire glisser des photos sur le simulateur :)
VaporwareWolf
Contrairement à la réponse d'Arel, les films déplacés vers DCIM / 100APPLE ne seront pas disponibles avec cette technique.
Steven Fisher
17

Faites simplement glisser les images vers le simulateur iPhone.

Mihail Salari
la source
15

C'est beaucoup plus facile avec le nouveau simulateur iOS fourni avec Xcode 6+ (iOS Simulator 8.1 et supérieur). Maintenant, tout ce que vous avez à faire est de faire glisser une ou plusieurs photos sur la fenêtre du simulateur iOS, et au lieu d'ouvrir Safari, l'application Photos s'ouvre et ajoute instantanément toutes les photos glissées sur l'appareil.

Donald Burr
la source
11

Méthode 1 (méthode la plus simple): si vous avez votre image sur Mac

Vous pouvez faire glisser une image du Finder sur votre Mac vers Simulator, et elle est enregistrée dans l'album Photos enregistrées.

Méthode 2: si c'est sur n'importe quelle URL

Pour enregistrer une image d'une page Web dans l'application Photos

  1. Placez le pointeur sur l'image que vous souhaitez enregistrer et maintenez enfoncé le bouton de la souris ou le trackpad.
  2. Lorsque le menu apparaît, cliquez sur Enregistrer l'image pour enregistrer l'image dans l'application Photos dans un simulateur iOS.
  3. L'image est enregistrée dans l'album Photos enregistrées dans l'application Photos.

Incassez quelqu'un à la recherche de documentation Apple concernant le copier-coller dans le simulateur. Enregistrer l'image depuis Safari

Ammar Mujeeb
la source
Le seul inconvénient est qu'il ne fonctionne pas avec plusieurs images à la fois.
Antzi
Fonctionne avec plusieurs images très bien. Je ne peux pas croire que je ne l'ai pas su plus tôt.
Dazzle
9

Aucune des réponses n'avait la solution exacte dont j'avais besoin.

Les étapes que j'ai trouvées pour moi-même travaillant sur le simulateur iOS 5.0 et supérieur sont les suivantes:

  1. Fermez le simulateur s'il exécute un projet xcode.

  2. Exécutez le simulateur à partir du dock en cliquant dessus.

  3. Faites glisser et déposez l'image dans le simulateur.

  4. Appuyez longuement sur l'image (ouverte en safari) et sélectionnez l'option d'enregistrement.

Vous avez terminé.

Arshad Parwez
la source
Les images finissent en miniature à une résolution de 552 x 668, ce qui n'est pas l'image d'origine. En revanche, l'importateur d'images conserve la résolution d'image d'origine.
Rob
7

Pour iOS 5.1, cela est encore changé pour un nouveau chemin

~ / Bibliothèque / Support d'application / iPhone Simulator / 5.1 / Media / DCIM / 100APPLE

Deepak Keswani
la source
7

À partir d'iOS 8, vous pouvez simplement faire glisser toutes vos photos sur la fenêtre du simulateur et elles seront automatiquement enregistrées dans la pellicule. Vous pouvez en faire autant à la fois que vous le souhaitez.

bcherry
la source
C'était super agréable à découvrir aujourd'hui, en particulier pour tester les performances des vues de collection avec une énorme quantité de données d'image + optimisation NSCache.
Eric Goldberg
Cela a cessé de fonctionner sur XCode 10 (testé sur 10.1), iOS 12.1 :(
endavid
6

Si vous devez importer plus d'une ou deux photos, jetez un œil à cet article que j'ai écrit. Il décrit un moyen facile d'effectuer une importation en masse de photos et fonctionne pour iOS 4.x.

Robin Summerhill
la source
Cela a fonctionné pour moi, mais je devais apporter une modification simple à l'application: parce que j'exécute le simulateur 4.2 et qu'il a été conçu pour fonctionner sur 4.0 (que je n'ai pas), je suis allé dans "Projet" -> "Modifier les paramètres du projet" puis sous "Architectures", j'ai changé le "SDK de base" en "Dernier iOS".
Mark Fowler
5

Pour iOS 8, s'il n'est pas nécessaire de conserver la date et l'emplacement de la capture photo, déposez simplement les fichiers photo dans le simulateur.

Pour conserver les métadonnées des photos, procédez comme suit:

  1. Copiez les fichiers photo dans: / Users / {USER} / Library / Developer / CoreSimulator / Devices / {UDID} / data / Media / DCIM / 100Apple
  2. Supprimer (ou renommer) le dossier: / Users / {USER} / Library / Developer / CoreSimulator / Devices / {UDID} / data / Media / photoData
  3. Relancer le simulateur

Remarque: Vous devez remplacer {USER} par votre nom d'utilisateur et {UDID} par l'UDID du simulateur. Pour trouver l'UDID de votre simulateur, depuis Terminal, exécutez 'xcrun simctl list'.

Joe Smith
la source
Cela ne fait aucune différence dans 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
la source
3

L'ajout d'une image à la simulation Iphone exécutant IOS 8.0 est encore plus facile.

  • Faites glisser votre image vers le simulateur
  • IOS ouvre l'application Photo et votre image fait maintenant partie de votre collection.

Plus besoin de gérer Safari

Thomas
la source
Vous pouvez désormais également faire glisser, en une seule fois, plusieurs photos directement dans l'album Camera Roll.
Paul Ardeleanu
1
@PaulArdeleanu, vous avez raison. Cependant, il ne vous conserve pas les métadonnées d'origine des actifs. Veuillez jeter un œil à mes projets qui vous aident à importer vos actifs tout en préservant toutes les métadonnées github.com/matibot/MBAssetsImporter
Mati Bot
1
@MatiBot, MBAssetsImporter est idéal pour le transfert en masse d'images - merci beaucoup!
user2067021
2

Pour iOS 4.2, je devais aller créer le dossier 100APPLE et redémarrer le simulateur, puis cela a fonctionné.

sabross
la source
2

essayez cette application que j'ai créée. téléchargez le code et exécutez-le dans le simulateur https://github.com/cristianbica/CBSimulatorSeed

bcd
la source
Ne fonctionne pas prêt à l'emploi sous iOS7 - indique que les cacoaPods ne sont pas synchronisés.
Ash
Eh bien, vous devez exécuter l'installation de pod pour installer les pods car ils ne sont pas dans le référentiel. J'ai mis à jour le fichier README
bcd
2

Pour iOS 8.0, la réponse est obsolète. J'ai trouvé la ressource multimédia dans le chemin suivant: ~ / Library / Developer / CoreSimulator / Devices / [DeviceID] / data / Media / DCIM / 100APPLE

tbago
la source
2

La solution la plus simple consiste à simplement vous connecter à iCloud sur le simulateur, puis à l'utiliser pour transférer tous les fichiers du lecteur, y compris les photos.

prolfe
la source
1

Glissez et déposez simplement l'image dans le simulateur d'iphone. le navigateur s'ouvrira pour afficher votre image. appuyez sur l'image jusqu'à ce que vous ne receviez pas d'options pour enregistrer l'image. puis Enregistrer l'image. c'est tout :). vous verrez votre image dans l'application Photo dans votre simulateur ....

Bhagirath
la source
1

J'ai écrit un script bash pour ce faire. Vérifiez le lien [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
la source
1

Juste pour vous dire: la solution de KONG fonctionne également sur iOS 7 beta.

Sa solution était:

Faites glisser l'image vers le simulateur, puis Safari s'ouvre (ou accédez à l'image sur Internet à l'aide de Safari) Maintenez votre clic sur l'image Lorsque la fenêtre contextuelle apparaît, choisissez Enregistrer l'image et profitez;)

mathgag555
la source
1

J'avais juste besoin d'images aléatoires pour les tests, c'est ainsi que je l'ai fait.

J'ai la solution la plus simple au monde. Ouvrez simplement Safari dans le simulateur, accédez aux images Google (ou à votre propre URL Web ou Dropbox), affichez une image, maintenez le bouton de la souris enfoncé pendant 2 secondes et vous verrez «Enregistrer l'image» - il sera enregistré directement dans le Photothèque. Rincez et répétez.

Justin Schier
la source
1

une manière encore plus simple, c'est: ouvrez safari sur simulateur> appuyez sur www.google.com recherchez des photos aléatoires "nature" ouvrez chaque image, appuyez dessus et enregistrez-la.

la lune Noire
la source
1

Avec la fonction glisser-déposer, vous perdrez toutes les métadonnées des photos.

J'ai créé un projet qui facilite l'importation d'importations dans le simulateur: MBAssetsImporter .

Il vous permet d'importer des vidéos et des photos tout en préservant toutes les métadonnées d'origine des fichiers.

Mati Bot
la source
1

1. CD vers ce chemin:

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

[Simulator Identifier] ou UDID peut être trouvé à: Hardware => device => manage devices.

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

2. Téléchargez la photo en exécutant cette commande:

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

3. Redémarrez votre simulateur pour voir les nouveaux fichiers.

Thanh Lam
la source
1

Avec iOS 11 et Xcode 9, il vous suffit de glisser-déposer des photos sur le simulateur. Il les importera automatiquement dans l'application Bibliothèque. Très facile!

aramusss
la source