Adicionando imagens ou vídeos ao iPhone Simulator

273

Estou tentando usar UIImagePickerControllercom UIImagePickerControllerSourceTypePhotoLibrary, mas ele diz: "Sem fotos". De onde o simulador obtém as imagens? Onde devo copiar as imagens para que sejam exibidas no simulador?

Vijayeta
fonte
53
Arraste as imagens para o simulador do iPhone. Em seguida, clique com o botão direito na imagem para salvá-la.
Fattie
3
Não consegui clicar com o botão direito do mouse no sim atual, mas podia clicar no ícone "Compartilhar" e salvar a imagem.
Scott Rowley
A resposta de Scott Rowley funcionou para mim, e a de Joe Blow não. Eu acho que isso pode ser uma diferença de versão do Xcode 5.1.1.
Erstaples

Respostas:

230

A maneira mais simples de obter imagens, vídeos, etc. no simulador é arrastá-los e soltá-los do seu computador para o simulador. Isso fará com que o Simulador abra o aplicativo Fotos e comece a preencher a biblioteca.


Se você deseja um método com script, continue lendo.

Nota - embora isso seja válido e funcione, acho que a solução de Koen abaixo agora é melhor, pois não requer a reinicialização do simulador.

Identifique seu simulador acessando xCode-> Devices, selecionando seu simulador e verificando o valor do identificador.

Vamos para

~ / Biblioteca / Desenvolvedor / CoreSimulator / Devices / [Simulator Identifier] / data / Media / DCIM / 100APPLE

e adicione IMG_nnnn.THM e IMG_nnnn.JPG. Você precisará redefinir seu simulador (Hardware-> Reiniciar) para permitir que ele observe as novas alterações. Não importa se eles não são JPEGs - eles podem ser PNGs, mas parece que os dois devem estar presentes para que funcione. Pode ser necessário criar o DCIM se ele ainda não existir e, nesse caso, você deve iniciar o nnnn a partir de 0001. Os arquivos JPG são a versão em tamanho normal, enquanto os arquivos THM são a miniatura e têm tamanho de 75x75 pixels. Eu escrevi um script para fazer isso, mas há um melhor documentado aqui (-link não funciona mais).

Você também pode adicionar fotos do safari no simulador, tocando e segurando a imagem. Se você arrastar uma imagem (ou qualquer outro arquivo, como um PDF) para o simulador, ele abrirá imediatamente o Safari e exibirá a imagem; portanto, é uma maneira muito fácil de obter imagens.

Airsource Ltd
fonte
No iPhone SDK 3.0, isso mudou um pouco. Agora, os arquivos em miniatura (".THM") precisam estar abaixo de 100APPLE / .MISC. Caso contrário, todas as fotos aparecerão como caixas pretas.
Como atualizo o ícone na célula Fotos salvas na exibição principal da tabela Álbum de fotos?
Simon Woodside
3
Minha localização é em~/Library/Application Support/iPhone Simulator/3.1.3/Media/DCIM/100APPLE
gak 07/04
3
Para mim, com o simulador 5.1, você não precisa dos arquivos .THM e o diretório precisa ser ~ / Library / Application Support / iPhone Simulator / 5.1 / Media / DCIM / 100APPLE O link do script na resposta não estava mais funcionando para me para que eu chicoteado até meu próprio script aqui: gist.github.com/3738695
Dav Yaginuma
11
Infelizmente com o iOS6, essa técnica não funciona mais. Porém, este pequeno aplicativo de importação, que você pode executar no simulador, funciona bem - aptogo.com.br/2010/09/importing-photos Veja as respostas classificadas mais abaixo abaixo.
Kenny Grant
444

Explique passo a passo a resposta da Airsource Ltd para adicionar imagem ao simulador:

  1. Arraste-o para o simulador e o Safari será aberto (ou navegue até a Imagem na Internet usando o Safari)
  2. Mantenha o seu clique na imagem
  3. Quando o pop-up aparecer, escolha Salvar imagem e aproveite;)

Atualização: para o iOS Simulator 4.2, siga estas etapas duas vezes para fazê-lo funcionar. Obrigado kevboh!

Atualização: isso também funciona para o iOS Simulator 6.1

KONG
fonte
1
Isso não funciona para mim com o simulador iOS versão 4.2 (235). Posso executar as etapas 1 a 3, mas quando vou para "Fotos" não vejo nada.
27611 Mark Fowler
2
Isso funcionou para mim quando eu não tinha aplicativos abertos; quando eu tinha um aplicativo aberto, ele passou pelas mesmas etapas, mas na verdade não funcionou.
Tristan Warner-Smith
formato de imagem deve ser .jpg only..it não iria trabalhar para .png eu acho
Talktobijju
1
Uau, isso foi tão fácil que parecia que eu estava trapaceando! BTW, como observado por @KarenAnne, isso funciona no simulador iOS 6.0, com fotos terminando em ~ / Library / Application Support / iPhone Simulator / 6.0 / Media / DCIM / 100APPLE e (parece) sem arquivos .THM. De qualquer forma, ótima dica!
31812 Dave Marley
Funciona perfeitamente com o iOS7 também. Boa resposta.
Craig Day
129

3 etapas simples

  1. Arraste e solte a imagem no simulador
    - isso abrirá um navegador com sua imagem
  2. Clique e segure na imagem
    - isso abrirá opções
  3. salvar imagem
    - isso copiará a imagem no simulador

Assista ao vídeo do YouTube (adicione imagens ao simulador de iphone)

user380427
fonte
Não funciona para vídeo. Porque nada acontece quando você pressiona a tela por muito tempo.
Bagusflyer 9/09/12
62

Com o iOS 8.0, adicionamos a capacidade de arrastar e soltar imagens no iOS Simulator. Você pode arrastar várias imagens para a janela e elas devem ser importadas para o rolo fotográfico do dispositivo simulado. Você também pode fazer isso com a ferramenta de linha de comando simctl. 'xcrun simctl addphoto'

Jeremy Huddleston Sequoia
fonte
2
Obrigado! Ótimo recurso. Observe que você não pode arrastá-los para o ícone do Dock; você deve arrastá-los para a janela do simulador. Espero que isso mude em breve para permitir arrastar para o ícone.
Jordan H
Arrastar para o ícone do Dock deve trazer as janelas do aplicativo para o primeiro plano (como se você arrastar para o ícone do Dock do Finder).
Jeremy Huddleston Sequoia
Oi @JeremyHuddlestonSequoia! Duas perguntas: o comando só funciona para fotos, não vídeos, certo? Além disso, existe alguma maneira de inserir informações no estilo "momento" no simulador (por exemplo, criar vários momentos, possivelmente atrasados, etc.)?
21715
1
Corrigir. É apenas para adicionar fotos. Não pode ser usado para vídeos. Não conheço uma maneira de atualizar os eventos, mas isso pode ser possível por meio do aplicativo Fotos. Se não, seria certamente vale a pena a apresentação de um radar para a bugreport.apple.com
Jeremy Huddleston Sequoia
@JeremyHuddlestonSequoia, ele não preserva os metadados originais dos ativos. Por favor, dê uma olhada no meu projeto que ajuda a importar os seus bens, preservando todos os metadados (incluindo vídeos!) Github.com/matibot/MBAssetsImporter
Mati Bot
45

Desde o Xcode 6, você pode usar a ferramenta de linha de comando xcrun simctl.

O uso é muito simples; Para adicionar uma foto ao simulador em execução no momento, use o bootedespaço reservado.

xcrun simctl addmedia booted ./MyFile.jpg

Para adicioná-lo a qualquer outro simulador, use o ID do dispositivo, que pode ser encontrado executando xcrun simctl list.

xcrun simctl addmedia E201E636-CE6C-11E5-AB30-625662870761 ./MyFile.jpg
Koen.
fonte
O último comando "xcrun simctl addmedia E201E636-CE6C-11E5-AB30-625662870761 ./MyFile.jpg" parece funcionar apenas se o simulador estiver em execução. Eu esperava que houvesse uma solução para adicionar imagens sem executar, ou seja, preparar antes de executar um simulador.
StackUnderflow
26

É simples. Basta seguir estes passos:

  1. Arraste e solte a imagem no Simulador
  2. Agora a imagem é aberta no navegador Safari (arquivo: //.../ImageName). Toque e segure na Imagem.
  3. Isso exibe a actionSheet com a opção Salvar, Cancelar (também copie no caso do simulador do iOS 7).

    Captura de tela da folha de ações

  4. Salve a imagem. A imagem é adicionada à Biblioteca.

    Biblioteca de fotos

Jayprakash Dubey
fonte
22

Acabei de descobrir como fazer upload de imagens em massa no iOS Simulator. (Só o confirmei no 6.1.)

  1. Faça backup da pasta:

    ~/Library/Application Support/iPhone Simulator/6.1/Media
  2. Copie todas as suas imagens para a pasta:

    ~/Library/Application Support/iPhone Simulator/6.1/Media/DCIM/100APPLE
  3. Mova ou exclua a pasta:

    ~/Library/Application Support/iPhone Simulator/6.1/Media/PhotoData
  4. Reinicie o iOS Simulator

  5. Abra o aplicativo Fotos

O simulador restaurará todas as imagens da pasta 100APPLE!

Arel
fonte
1
Excelente solução. Larguei minhas fotos na pasta Media / DCIM, mas também precisava excluir a pasta PhotoData. E isso funciona para mim também com o iOS 7.
Swindler
Funciona para iOS7 também! Obrigado!
Klaas
1
Dos quatro métodos que eu tentei no simulador de 4 polegadas iOS7.0.3, este é o único que funcionou, embora eu tenha achado que tenho duplicatas de cada imagem. Votado.
Ash
1
Consegui usar este projeto do github no iOS7.0 para importar as imagens github.com/basilhe/iOS-Simulator-Photo-Importer . Parece ser uma variante do importador de fotos mencionado anteriormente, mas também faz vídeos.
Rob
Obrigado! Fiquei me perguntando por que as fotos transferidas não estão sendo exibidas, mesmo que eu já as tenha colocado em Media / DCIM / 100APPLE. Acontece que há uma etapa extra para excluir a pasta Media / PhotoData.
KarenAnne
22

Para o iOS 7, fiz o seguinte:

copie fotos para essas duas pastas:

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

exclua apenas esses 4 arquivos (para evitar duplicatas no relançamento):

~/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
fonte
1
A exclusão dos *.sqlite-arquivos funcionou para mim. Obrigado!
Zorayr #
Excelente, isso realmente me ajudou. Eu tentei vários métodos e até agora eu estava fazendo arrastar e soltar. Mas é mais maneira mais fácil quando você precisa copiar muitas imagens :)
Anand
5
Com o iOS 8, agora você pode arrastar fotos para o simulador :)
VaporwareWolf
Diferentemente da resposta da Arel, os filmes movidos para o DCIM / 100APPLE não ficarão disponíveis com esta técnica.
Steven Fisher
17

Basta arrastar as imagens para o simulador do iPhone.

Mihail Salari
fonte
15

Isso é muito mais fácil com o novo iOS Simulator que acompanha o Xcode 6+ (iOS Simulator 8.1 e superior). Agora, tudo o que você precisa fazer é arrastar uma ou mais fotos para a janela do iOS Simulator e, em vez de abrir o Safari, o aplicativo Fotos abre e adiciona instantaneamente todas as fotos arrastadas ao dispositivo.

Donald Burr
fonte
11

Método 1 (maneira mais fácil): se você tem sua imagem no Mac

Você pode arrastar uma imagem do Finder no seu Mac para o Simulator e ela é salva no álbum Fotos Salvas.

Método 2: se estiver em qualquer URL

Para salvar uma imagem de uma página da web no aplicativo Fotos

  1. Coloque o ponteiro na imagem que deseja salvar e mantenha pressionado o botão do mouse ou o trackpad.
  2. Quando o menu aparecer, clique em Salvar imagem para salvar a imagem no aplicativo Fotos em um simulador do iOS.
  3. A imagem é salva no álbum Fotos salvas no aplicativo Fotos.

Caso alguém que esteja procurando pela documentação da Apple sobre Copiar e colar no Simulador. Salvar imagem do Safari

Ammar Mujeeb
fonte
Os únicos inconvenientes é que ele não funciona com várias imagens ao mesmo tempo.
Antzi 11/11
Funciona bem com várias imagens. Não posso acreditar que não sabia disso antes.
Dazzle
9

Nenhuma das respostas tinha a solução exata que eu precisava.

As etapas que eu encontrei trabalhando no iOS 5.0 e acima do simulador são as seguintes:

  1. Feche o simulador se estiver executando o projeto xcode.

  2. Execute o simulador a partir do dock, clicando nele.

  3. Arraste e solte a imagem no simulador.

  4. Toque e segure a imagem (aberta no safari) e selecione a opção Salvar.

Você terminou.

Arshad Parwez
fonte
As imagens terminam em miniatura na resolução 552x668, que não é a imagem original. Por outro lado, o importador de imagens preserva a resolução original da imagem.
Rob
7

Para o iOS 5.1, isso é alterado para um novo caminho

~ / Biblioteca / Suporte a aplicativos / Simulador de iPhone / 5.1 / Mídia / DCIM / 100APPLE

Deepak Keswani
fonte
7

No iOS 8, você pode simplesmente arrastar todas as suas fotos para a janela do simulador e elas serão salvas no rolo da câmera automaticamente. Você pode fazer quantas vezes quiser.

Bcherry
fonte
Foi uma delícia descobrir isso hoje, especialmente para testar o desempenho das visualizações de coleção com uma enorme quantidade de dados de imagem + otimização NSCache.
Eric Goldberg
Isso parou de funcionar no XCode 10 (testado na 10.1), iOS 12.1 :(
endavid
6

Se você precisar importar mais do que apenas uma ou duas fotos, dê uma olhada neste artigo que escrevi. Ele descreve uma maneira fácil de realizar uma importação em massa de fotos e funciona no iOS 4.x.

Robin Summerhill
fonte
Isso funcionou para mim, mas eu precisava fazer uma alteração simples no aplicativo: como estou executando o simulador 4.2 e este foi projetado para rodar na versão 4.0 (que eu não tenho), fui para "Projeto" -> "Editar configurações do projeto" e, em "Arquiteturas", alterei o "SDK Base" para "iOS mais recente".
Mark Fowler
5

Para iOS 8, se não houver necessidade de manter a data e o local da captura de fotos, basta soltar os arquivos de fotos no simulador.

Para manter os metadados da foto, faça o seguinte:

  1. Copie os arquivos de foto para: / Usuários / {USUÁRIO} / Biblioteca / Desenvolvedor / CoreSimulator / Dispositivos / {UDID} / dados / Mídia / DCIM / 100Apple
  2. Remova (ou renomeie) a pasta: / Users / {USER} / Library / Developer / CoreSimulator / Devices / {UDID} / data / Media / photoData
  3. Relançar Simulador

Nota: Você precisa substituir {USER} pelo seu nome de usuário e {UDID} pelo UDID do simulador. Para encontrar o UDID do seu simulador, no Terminal, execute 'xcrun simctl list'.

Joe Smith
fonte
Não fazer a diferença no 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
fonte
3

Adicionar uma imagem à simulação do Iphone executando o IOS 8.0 é ainda mais fácil.

  • Arraste sua imagem para o simulador
  • O IOS abre o aplicativo Foto e sua imagem agora faz parte da sua coleção.

Não há mais necessidade de lidar com o Safari

Thomas
fonte
Agora você também pode arrastar, de uma só vez, várias fotos diretamente para o álbum Rolo da câmera.
Paul Ardeleanu
1
@PaulArdeleanu, você está certo. No entanto, ele não preserva os metadados originais dos recursos. Por favor, dê uma olhada em meus projetos que ajuda a importar os seus bens enquanto preserva todos os metadados github.com/matibot/MBAssetsImporter
Mati Bot
1
@MatiBot, MBAssetsImporter é ótimo para transferência em massa de imagens - muito obrigado!
user2067021
2

Para o iOS 4.2, eu tive que criar a pasta 100APPLE e reiniciar o simulador, e funcionou.

sabross
fonte
2

tente este aplicativo que eu fiz. faça o download do código e execute-o no simulador https://github.com/cristianbica/CBSimulatorSeed

bcd
fonte
Não funciona imediatamente no iOS7 - diz algo sobre cocoaPods estar fora de sincronia.
Ash
Bem, você deve executar a instalação do pod para instalar os pods, pois eles não estão no repositório. Atualizei o README
bcd
2

Para o iOS 8.0, a resposta está desatualizada. Encontrei o recurso de mídia no seguinte caminho: ~ / Library / Developer / CoreSimulator / Devices / [DeviceID] / data / Media / DCIM / 100APPLE

tbago
fonte
2

A solução mais simples é simplesmente entrar no iCloud no simulador e usá-lo para transferir qualquer arquivo na unidade, incluindo fotos.

prolfe
fonte
1

Basta arrastar e soltar a imagem no simulador do iphone. O navegador será aberto para mostrar sua imagem. pressione na imagem até não receber opções para salvar a imagem. Salvar imagem. é isso aí :). você verá sua imagem no aplicativo Photo em seu simulador ....

Bhagirath
fonte
1

Eu escrevi um script bash para fazer isso. Verifique o 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
fonte
1

Só para lhe dizer: a solução da KONG também funciona no iOS 7 beta.

Sua solução foi:

Arraste a imagem para o simulador e, em seguida, o Safari será aberto (ou navegue até a Imagem na Internet usando o Safari). Clique e segure a imagem. Quando o pop-up aparecer, escolha Salvar imagem e divirta-se;)

mathgag555
fonte
1

Eu só precisava de algumas imagens aleatórias para teste, então foi assim que eu fiz.

Eu tenho a solução mais simples do mundo. Basta abrir o Safari no simulador, acessar as imagens do Google (ou sua própria web ou URL do Dropbox), ver uma imagem, pressionar o botão do mouse por 2 segundos e você verá "Salvar imagem" - ele será salvo diretamente no Biblioteca de fotos. Enxague e repita.

Justin Schier
fonte
1

de uma maneira ainda mais fácil: abra o safari no simulador> toque em www.google.com procure fotos aleatórias "natureza" abra cada imagem, pressione cada imagem e salve-a.

lua Negra
fonte
1

Com o recurso de arrastar e soltar, você perderá todos os metadados das fotos.

Criei um projeto que facilita muito a importação de ativos para o simulador: MBAssetsImporter .

Permite importar vídeos e fotos, preservando todos os metadados originais dos arquivos.

Mati Bot
fonte
1

1. CD para este caminho:

/ Usuários / [usuário macOS] / Biblioteca / Desenvolvedor / CoreSimulator / Devices / [Simulator Identifier] / data / Media / DCIM / 100APPLE

O [Simulator Identifier] ou o UDID pode ser encontrado em: Hardware => dispositivo => gerenciar dispositivos.

por exemplo. cd / Usuários / rnDeveloper / Biblioteca / Desenvolvedor / CoreSimulator / Devices / 7508171A-DC5D-47CF-9BE1-FF950326E3DB / data / Media / DCIM / 100APPLE

2. Faça o download da foto executando este comando:

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

3. Reinicie o seu simulador para ver os novos arquivos.

Thanh Lam
fonte
1

Com o iOS 11 e o Xcode 9, basta arrastar e soltar fotos no Simulador. Ele será importado automaticamente no aplicativo Biblioteca. Muito fácil!

aramusss
fonte