117
votes

I'm developing an app that connects to a web service for most of it's operations. As a shortcut, I'd like to run a copy of my development server on my machine. Question is:

How/can I access the host machine's network (http in this case) from the iPhone simulator?

I'm developing the web service alongside the app, so it would be helpful to have them both on the host machine, and then I can commit changes as needed.

2
what's the setup for your development server? - Nick Weaver
Are you wondering what libraries to use in the iOS SDK? You should just be able to provide the URL string, i.e. "localhost:####/myURL". - Jacob Barnard

2 Answers

148
votes

The iOS Simulator uses the host machine network so you should be able to just use localhost or your machines IP address, whichever IP your web service is listening on.

13
votes

In swift 5 just call:

http://localhost:<port>/file_path 

but you will need to add this part to the project Info.plist.

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

Otherwise this error is going to happen.

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