Получить доступ к localhost на Mac из XCode? Phonegap, связывающийся с Ajax с локальным приложением Rails

#ruby-on-rails #xcode #ios #localhost #cordova

#ruby-on-rails #xcode #iOS #localhost #кордова

Вопрос:

Есть ли способ получить доступ http://localhost:3000/posts изнутри HTML-файла, который выполняется через Phonegap для iPhone на устройстве iPhone (не симуляторе), в XCode?

Если у меня есть приложение HTML5 в Phonegap, я смог получить доступ к внешним таблицам стилей только с помощью file://Users/etc.. or http://... , когда я тестирую его на самом iPhone / iPad. Если я запускаю симулятор, я могу получить доступ к localhost без проблем.

Есть ли способ обойти это? Я знаю, что могу получить доступ к localhost на Mac из Parallels под управлением Windows, выполнив http://username.local/posts , есть ли что-то подобное для разработки iOS?

Ответ №1:

«localhost» всегда указывает на 127.0.0.1 в IPv4, который является сетевым интерфейсом обратной связи текущего устройства. Если вы откроете «localhost» со своего iPhone, он будет указывать на сам iPhone.

Однако, если вы находитесь в той же сети, что и ваш Mac, вы можете просто использовать IP-адрес вашего Mac, например http://192.168.0.20:3000/posts . Вы можете увидеть свой текущий IP-адрес в настройках сети вашего Mac.

Кроме того, в зависимости от конфигурации вашей сети, использование имени Bonjour также может работать. Например: http://mymac.local:3000/posts если для имени вашего компьютера установлено значение mymac на Sharing панели системных настроек.

Комментарии:

1. Safari продолжает удалять номер порта, что очень раздражает

2. переключитесь на Chrome, без глупостей

Ответ №2:

Возможно, вы могли бы настроить свой Mac в качестве веб-сервера? Смотрите ссылку ehow

Ответ №3:

Если вы спрашиваете, можете ли вы получить доступ к localhost на вашем Mac / ПК со своего устройства iPhone, то ответ — нет. У вашего iPhone нет возможности перенаправить на адрес локального хоста другого компьютера.

Вы должны подключить свой iPhone к сети, в которой находится сервер, и использовать доступный IP-адрес для доступа к нему.