Come si accede alla macchina host stessa dal simulatore di iPhone


100

Sto sviluppando un'app che si connette a un servizio Web per la maggior parte delle sue operazioni. Come scorciatoia, vorrei eseguire una copia del mio server di sviluppo sulla mia macchina. La domanda è:

Come / posso accedere alla rete della macchina host (http in questo caso) dal simulatore iPhone?

Sto sviluppando il servizio Web insieme all'app, quindi sarebbe utile averli entrambi sul computer host e quindi posso eseguire il commit delle modifiche secondo necessità.


qual è la configurazione per il tuo server di sviluppo?
Nick Weaver

Ti stai chiedendo quali librerie utilizzare nell'SDK di iOS? Dovresti solo essere in grado di fornire la stringa dell'URL, ad esempio " localhost: #### / myURL ".
Jacob Barnard,

Risposte:


132

Il simulatore iOS utilizza la rete della macchina host, quindi dovresti essere in grado di utilizzare solo localhost o l'indirizzo IP della tua macchina, qualunque sia l'IP su cui il tuo servizio web è in ascolto.


Espandendo la risposta di Jaminguy, MAC OSX ha anche un server Apache integrato. Basta fare una rapida ricerca su Google .....
Sid

1
Come puoi scoprire quale porta viene utilizzata?
Doidgey

3
La porta dipende dalle impostazioni del tuo server web
zambono

1
È possibile farlo da un dispositivo collegato tramite USB?
Ian Warburton

1
@IanWarburton nessun dispositivo separato richiederà l'indirizzo IPv4 del tuo computer. (Se entrambi i dispositivi non sono sulla stessa rete è più complicato)
cameloper

5

In swift 5 basta chiamare:

http://localhost:<port>/file_path 

ma dovrai aggiungere questa parte al progetto Info.plist.

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

Altrimenti si verificherà questo errore.

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


1
Questa risposta funzionerà, ma non è un buon modo per affrontarla. Apple scoraggia vivamente gli sviluppatori dal caricare arbitrariamente gli URL e la tua app NON sarà accettata nello store se utilizzi questo approccio. Consulta questa risposta stackoverflow.com/questions/31254725/… per vedere come
inserire

1
Bene, usa questo approccio solo per lo sviluppo.
unixeO
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.