Como acesso a própria máquina host a partir do simulador de iPhone

100

Estou desenvolvendo um aplicativo que se conecta a um serviço da web para a maioria de suas operações. Como um atalho, gostaria de executar uma cópia do meu servidor de desenvolvimento na minha máquina. Questão é:

Como / posso acessar a rede da máquina host (http neste caso) a partir do simulador do iPhone?

Estou desenvolvendo o serviço da web junto com o aplicativo, portanto, seria útil ter os dois na máquina host e, então, posso confirmar as alterações conforme necessário.

Jordan Walsh
fonte
qual é a configuração do seu servidor de desenvolvimento?
Nick Weaver de
Você está se perguntando quais bibliotecas usar no iOS SDK? Você deve apenas ser capaz de fornecer a string do URL, ou seja, " localhost: #### / myURL ".
Jacob Barnard de

Respostas:

132

O simulador iOS usa a rede da máquina host, então você deve ser capaz de usar apenas o localhost ou o endereço IP da sua máquina, seja qual for o IP em que seu serviço da web estiver escutando.

Jaminguy
fonte
Expandindo a resposta de Jaminguy, o MAC OSX também tem um servidor Apache embutido. Basta fazer uma rápida pesquisa no Google ...
Sid
1
Como você pode descobrir qual porta é usada?
Doidgey
3
A porta depende das configurações do seu servidor web
zambono
1
É possível fazer isso de um dispositivo conectado via USB?
Ian Warburton
1
@IanWarburton não, nenhum dispositivo separado exigirá o endereço IPv4 do seu computador. (Se os dois dispositivos não estiverem na mesma rede, é mais complicado)
cameloper
5

No swift 5, basta chamar:

http://localhost:<port>/file_path 

mas você precisará adicionar esta parte ao projeto Info.plist.

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
        <true/>
</dict>  

Caso contrário, esse erro vai acontecer.

Cannot start load of Task <xx-xx>.<x> since it does not conform to ATS policy.

unixeO
fonte
1
Essa resposta funcionará, mas não é uma boa maneira de abordar isso. A Apple desencoraja fortemente os desenvolvedores de carregar URLs arbitrariamente e seu aplicativo NÃO será aceito na loja se você usar essa abordagem. Consulte esta resposta stackoverflow.com/questions/31254725/… para ver como colocar corretamente na lista de permissões domínios específicos em seu aplicativo
SamG
1
Certo, só use essa abordagem no desenvolvimento.
unixeO