Wie greife ich über den iPhone-Simulator auf den Host-Computer selbst zu?

99

Ich entwickle eine App, die für die meisten Vorgänge eine Verbindung zu einem Webdienst herstellt. Als Verknüpfung möchte ich eine Kopie meines Entwicklungsservers auf meinem Computer ausführen. Die Frage ist:

Wie kann ich über den iPhone-Simulator auf das Netzwerk des Host-Computers (in diesem Fall http) zugreifen?

Ich entwickle den Webdienst neben der App, daher wäre es hilfreich, beide auf dem Host-Computer zu haben, und dann kann ich nach Bedarf Änderungen vornehmen.

Jordan Walsh
quelle
Wie ist das Setup für Ihren Entwicklungsserver?
Nick Weaver
Fragen Sie sich, welche Bibliotheken im iOS SDK verwendet werden sollen? Sie sollten nur in der Lage sein, die URL-Zeichenfolge anzugeben , dh " localhost: #### / myURL ".
Jacob Barnard

Antworten:

132

Der iOS-Simulator verwendet das Netzwerk des Hostcomputers, sodass Sie nur localhost oder die IP-Adresse Ihres Computers verwenden können, unabhängig davon, welche IP Ihr Webdienst abhört.

Jaminguy
quelle
MAC OSX erweitert die Antwort von Jaminguy und verfügt über einen integrierten Apache-Server. Machen Sie einfach eine schnelle Google-Suche .....
Sid
1
Wie können Sie herausfinden, welcher Port verwendet wird?
Doidgey
3
Der Port hängt von Ihren Webserver-Einstellungen ab
zambono
1
Ist dies von einem über USB angeschlossenen Gerät möglich?
Ian Warburton
1
@IanWarburton Kein separates Gerät benötigt die IPv4-Adresse Ihres Computers. (Wenn beide Geräte nicht im selben Netzwerk sind, ist es komplizierter)
Cameloper
5

In Swift 5 rufen Sie einfach an:

http://localhost:<port>/file_path 

Sie müssen diesen Teil jedoch zum Projekt hinzufügen Info.plist.

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

Andernfalls tritt dieser Fehler auf.

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

unixeO
quelle
1
Diese Antwort wird funktionieren, aber es ist kein guter Weg, dies zu erreichen. Apple rät Entwicklern dringend davon ab, willkürlich URLs zu laden, und Ihre App wird NICHT in den Store aufgenommen, wenn Sie diesen Ansatz verwenden. In dieser Antwort auf stackoverflow.com/questions/31254725/… erfahren Sie , wie Sie bestimmte Domains in Ihrer App korrekt auf die Whitelist setzen
SamG
1
Richtig, verwenden Sie diesen Ansatz nur für die Entwicklung.
UnixeO