Quero iniciar o simulador do iPhone na linha de comando.
até agora tenho usado o comando abaixo
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/iPhone Simulator.app/Contents/MacOS/iPhone Simulator -SimulateDevice
-SimulateDevice é usado para iniciar um tipo de dispositivo específico
Agora, com o Xcode 6, o caminho e o aplicativo foram alterados para
/Applications/Xcode.app/Contents/Developer/Applications/iOS Simulator.app/Contents/MacOS/iOS Simulator
mas, infelizmente, a opção -SimulateDevice não está funcionando agora. Eu posso iniciar o simulador, mas não tenho a opção de especificar qual iniciar
Alguém encontrou alguma alternativa para isso com o Xcode 6?
fonte
xcrun simctl
listará os comandos. Na minha opinião, eles são bastante autoexplicativos.xcrun simctl boot <device id>
vez dexcrun instruments -w...
booted
comobooted
vai apenas escolher arbitrariamente um dos dispositivos inicializados no simulador.Com o Xcode 6, se você deseja que o iOS Simulator.app inicialize um dispositivo específico quando ele for iniciado, você pode executar isso na linha de comando:
open -a "iOS Simulator" --args -CurrentDeviceUDID <DEVICE UDID>
onde você pode descobrir o UDID do dispositivo de onde deseja inicializar:
xcrun simctl list
Com o Xcode 7, o aplicativo foi renomeado como Simulator.app, então você deve atualizar o acima de acordo com:
open -a Simulator --args -CurrentDeviceUDID <DEVICE UDID>
fonte
/usr/bin/xcrun simctl list
lista os simuladores disponíveis para o Xcode regular. No entanto,open -a "iOS Simulator"
inicia o simulador beta 6.2, que espera os IDs de dispositivo do simulador beta. Como posso especificar qual simulador devo lançar (regular vs. beta)?defaults read com.apple.iphonesimulator
e pode substituir qualquer um na linha de comando. Simulator.app usa apenas os UDIDs para identificar exclusivamente os dispositivos. Você não pode usar o nome.Para xcode 7:
open /Applications/Xcode.app/Contents/Developer/Applications/Simulator.app --args -CurrentDeviceUDID <DeviceUDID>
Obtenha seu udid do simulador de
xcrun simctl list
fonte
Para lançar um simulador com um dispositivo específico inicializado, estou usando o subcomando list devices para obter a lista de todos os dispositivos disponíveis
este comando irá mostrar uma lista de dispositivos disponíveis com seus UDIDs e status
Então eu inicio o aplicativo simulador especificando um dispositivo com a opção -CurrentDeviceUDID
NOTA: substitua por um UDID válido da lista.
Por exemplo, se quisermos iniciar o simulador com um Ipad (% geração inicializada):
ATUALIZAÇÃO 23/05/2018
Com a opção UDID do Xcode 9.3 CurrentDevice não está funcionando para mim, como uma solução alternativa, eu tenho que usar simctl para inicializar o dispositivo no simulador antes de abri-lo.
Você pode criar, apagar, excluir, inicializar, desligar e atualizar simuladores usando simctl.
Para obter a lista de tipos de dispositivos e tempos de execução válidos
fonte
Para inicializar um simulador:
Ele será inicializado como um modo sem cabeça. Para tornar o simulador visível:
xcrun simctl boot
é mais simples do quexcrun instruments -w
.instruments
requer o nome completo do dispositivo.fonte
Você pode especificar o hardware e a versão do iOS com o sinalizador -w. O formato é
Por exemplo:
instruments -w "iPhone Retina (3.5-inch) - Simulator - iOS 7.1"
.Você obterá as combinações de hardware-iOS disponíveis usando o
instruments -w help
comando.fonte
instruments -s devices
para obter uma lista de dispositivos. No entanto, uma vez que você tenha o nome do dispositivo, simplesmente chamarinstruments -w <device>
provavelmente resultará em um erro, já que o instrumento tenta gravar um rastreamento na raiz de sua unidade. Você pode querer especificar um caminho para o rastreamento no qual ele gravará com êxito.-D
para especificar um diretório de saída para os documentos .trace.Verificado no Xcode 9.4.1
Lista de dispositivos em um FORMATO REALMENTE AGRADÁVEL:
~/Library/Developer/CoreSimulator/Devices/device_set.plist
Em seguida, você deseja executar (abrir) seu aplicativo Simulador e certificar-se de que uma nova instância do aplicativo seja iniciada.
O aplicativo está aqui:
/Applications/Xcode.app/Contents/Developer/Applications/Simulator.app
E o formato que você usará é este:
open -n -a <SimulatorPath> --args -CurrentDeviceUDID <SimDeviceTypeUDID>
Então, se eu quisesse iniciar o Simulador acima, faria isso.
open -n -a /Applications/Xcode.app/Contents/Developer/Applications/Simulator.app --args -CurrentDeviceUDID AB335FAF-E3E3-4AE9-A0AF-D1C6AEB5FBD4
Cacete! Acabei de testá-lo e ele funciona no Mac OS 10.11.6. Agora, o próximo truque é dizer ao Simulador para abrir nosso aplicativo instalado. Ainda não cheguei lá. Espero que isto ajude. Agradecimentos a https://stackoverflow.com/users/726106/jeremy-huddleston-sequoia por sua explicação detalhada.
fonte
Execute este comando. O aplicativo será reiniciado seguido de alterações. Não há necessidade de reconstruí-lo novamente.
Para lista de tipos de dispositivos:
fonte