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


101

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

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

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


какова настройка вашего сервера разработки?
Ник Уивер,

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

Ответы:


133

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


Расширяя ответ 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.


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

1
Хорошо, используйте этот подход только при разработке.
unixeO
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.