Подключитесь к локальному веб-сервису (работающему под управлением MAMP) с iPhone через WIFI.

Я настроил локальный веб-сервис REST с помощью MAMP.

Я настроил виртуальный хост с URL-адресом "http://aem.davidcasillas", указывающим на мою общую папку.

MAMP прослушивает порт 80.

Если я захожу через Safari на "http://aem.davidcasillas/webservice/rest/getEventosToday " Я получаю правильные данные json.

Теперь я пытаюсь получить доступ к этому веб-сервису из своего приложения для iPhone. Я запускаю его из XCode в устройство.

Устройство подключено к моей локальной сети через WIFI, и соединение работает (я могу загружать веб-страницы в сафари).

Я использую RestKit для загрузки данных и пытаюсь получить к ним доступ по тому же URL-адресу, что и на своем Mac: "http://aem.davidcasillas.es/webservice/rest/getEventosToday".

В устройстве получаю ошибку:

NSURLErrorDomain -1003 Found no server for the specified host name.

Как мне написать свой URL-адрес, чтобы я мог получить доступ к веб-службе с iPhone?

ПРИМЕЧАНИЕ. Я прочитал это сообщение: тестировать локальные веб-сайты с mamp на iphone? но ни одна из этих проблем не относится к моему случаю. У меня отключен брандмауэр, и в моем файле config.ini отображается следующая строка прослушивания:

Listen 80

person David Casillas    schedule 28.02.2012    source источник


Ответы (2)


Я нашел обходной путь.

Я использую IP-адрес WIFI в SystemPreferences->NetWork на своем Mac, а затем весь путь к ресурсу, поэтому вместо:

"http://aem.davidcasillas.es/webservice/rest/getEventosToday"

Я сейчас пишу:

"http://192.168.1.6/aem.davidcasillas.es/public/webservice/rest/getEventosToday"

Часть 192.168.1.6 переносит меня в мою локальную корневую папку установки /Applications/MAMP/htdocs/.

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

person David Casillas    schedule 28.02.2012

Когда я запускаю hostname, он распечатывает

> hostname
ddopson.local

Вы можете отредактировать это в System Preferences ==> Sharing ==> Computer Name (текстовое поле вверху). Обратите внимание, что в текстовом поле «имя компьютера» я ввел «ddopson».

Если вы используете WiFi, вы сможете подключиться к этому имени хоста (ddopson.local) со своего iPhone. Это работает, потому что и iOS, и ваш Mac поддерживают многоадресную рассылку DNS, когда многоадресный пакет UDP отправляется на сеть L2 для поиска локальных имен хостов. Когда ваш Mac услышит этот многоадресный пакет, он ответит вашему iPhone своим IP-адресом, и вы уйдете.

person Dave Dopson    schedule 12.09.2012