Jak uzyskać dostęp do samego komputera hosta z symulatora iPhone'a

101

Tworzę aplikację, która łączy się z usługą internetową w większości operacji. Jako skrót chciałbym uruchomić kopię mojego serwera deweloperskiego na moim komputerze. Pytaniem jest:

Jak / mogę uzyskać dostęp do sieci hosta (w tym przypadku http) z symulatora iPhone'a?

Rozwijam usługę sieciową wraz z aplikacją, więc byłoby pomocne mieć je obie na komputerze hosta, a następnie mogę zatwierdzać zmiany w razie potrzeby.

Jordan Walsh
źródło
jaka jest konfiguracja twojego serwera deweloperskiego?
Nick Weaver
Zastanawiasz się, jakich bibliotek użyć w zestawie SDK systemu iOS? Powinieneś być w stanie podać ciąg adresu URL, tj. „ Localhost: #### / myURL ”.
Jacob Barnard

Odpowiedzi:

133

Symulator iOS korzysta z sieci maszyny hosta, więc powinieneś być w stanie po prostu użyć lokalnego hosta lub adresu IP swojego komputera, niezależnie od adresu IP, na którym nasłuchuje Twoja usługa internetowa.

jaminguy
źródło
Rozszerzając odpowiedź jaminguy, MAC OSX ma również wbudowany serwer Apache. Po prostu przeprowadź szybkie wyszukiwanie w Google .....
Sid
1
Jak możesz dowiedzieć się, który port jest używany?
Doidgey
3
Port zależy od ustawień twojego serwera WWW
zambono
1
Czy można to zrobić z urządzenia podłączonego przez USB?
Ian Warburton
1
@IanWarburton żadne oddzielne urządzenie nie będzie wymagało adresu IPv4 twojego komputera. (Jeśli oba urządzenia nie są w tej samej sieci, jest to bardziej skomplikowane)
cameloper
5

W Swift 5 po prostu zadzwoń:

http://localhost:<port>/file_path 

ale będziesz musiał dodać tę część do projektu Info.plist.

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

W przeciwnym razie wystąpi ten błąd.

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

unixeO
źródło
1
Ta odpowiedź zadziała, ale nie jest to dobry sposób na podejście do tego problemu. Firma Apple zdecydowanie odradza programistom przypadkowe ładowanie adresów URL, a Twoja aplikacja NIE zostanie przyjęta do sklepu, jeśli zastosujesz takie podejście. Zapoznaj się z tą odpowiedzią stackoverflow.com/questions/31254725/…, aby zobaczyć, jak poprawnie
umieścić
1
Racja, używaj tego podejścia tylko w programowaniu.
unixeO