Как получить доступ к самой главной машине из симулятора iPhone

101

Я разрабатываю приложение, которое подключается к веб-службе для большинства операций. В качестве ярлыка я хотел бы запустить копию моего сервера разработки на своей машине. Вопрос такой:

Как / я могу получить доступ к сети хост-компьютера (в данном случае http) из симулятора iPhone?

Я разрабатываю веб-службу вместе с приложением, поэтому было бы полезно разместить их на главном компьютере, а затем я могу фиксировать изменения по мере необходимости.

Джордан Уолш
источник
какова настройка вашего сервера разработки?
Ник Уивер,
Вам интересно, какие библиотеки использовать в iOS SDK? Вы должны просто указать строку URL, например " localhost: #### / myURL ".
Джейкоб Барнард,

Ответы:

133

Симулятор iOS использует сеть хост-компьютера, поэтому вы должны иметь возможность просто использовать localhost или IP-адрес вашего компьютера, в зависимости от того, какой IP-адрес прослушивает ваша веб-служба.

Jaminguy
источник
Расширяя ответ jaminguy, MAC OSX также имеет встроенный сервер Apache. Просто выполните быстрый поиск в Google ...
Сид,
1
Как узнать, какой порт используется?
Дойджи
3
Порт зависит от настроек вашего веб-сервера
zambono
1
Можно ли это сделать с устройства, подключенного по USB?
Ян Уорбертон,
1
@IanWarburton никакое отдельное устройство не потребует IPv4-адреса вашего компьютера. (Если оба устройства не находятся в одной сети, все сложнее)
cameloper
5

В Swift 5 просто позвоните:

http://localhost:<port>/file_path 

но вам нужно будет добавить эту часть в проект Info.plist.

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

В противном случае произойдет эта ошибка.

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

unixeO
источник
1
Этот ответ будет работать, но это не лучший способ приблизиться к этому. Apple настоятельно не рекомендует разработчикам произвольно загружать URL-адреса, и ваше приложение НЕ будет принято в магазин, если вы воспользуетесь этим подходом. См. Этот ответ stackoverflow.com/questions/31254725/…, чтобы узнать, как правильно
SamG
1
Хорошо, используйте этот подход только при разработке.
unixeO