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.


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.


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.


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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.