【问题标题】:Connect to local web service (running under MAMP) from iPhone via WIFI.通过 WIFI 从 iPhone 连接到本地 Web 服务(在 MAMP 下运行)。
【发布时间】:2012-03-17 17:46:20
【问题描述】:

我已经使用 MAMP 设置了本地 REST 网络服务。

我已经设置了一个虚拟主机,其 url "http://aem.davidcasillas" 指向我的公共文件夹。

MAMP 正在侦听端口 80。

如果我通过 Safari 访问“http://aem.davidcasillas/webservice/rest/getEventosToday”,我会得到正确的 json 数据。

现在我正在尝试从我的 iPhone 应用程序访问此 Web 服务。我将它从 XCode 运行到设备中。

设备通过WIFI连接到我的本地网络,并且连接正常(我可以在safari中加载网页)

我正在使用 RestKit 下载数据,并尝试使用我在 Mac 中使用的相同 URL 来访问它:“http://aem.davidcasillas.es/webservice/rest/getEventosToday”。

在设备中我收到错误:

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

我应该如何编写我的网址,以便我可以从 iPhone 访问网络服务?

注意:我已经阅读了这篇文章:test local websites with mamp on iphone?,但这些问题都不适用于我的情况。我禁用了防火墙,并且我的 config.ini 文件显示以下监听行:

Listen 80

【问题讨论】:

    标签: ios localhost mamp restkit


    【解决方案1】:

    我找到了解决方法。

    我在我的 Mac 中使用 SystemPreferences->NetWork 中的 WIFI ip 地址,然后使用资源的整个路径,所以不是:

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

    我在写:

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

    192.168.1.6part 将我带到我的本地安装根文件夹/Applications/MAMP/htdocs/

    在路径的其余部分,我必须将整个路径放入资源。请注意,我必须在路径中包含公用文件夹。希望我可以使用我的虚拟主机设置,但还没有找到方法。

    【讨论】:

      【解决方案2】:

      当我运行 hostname 时,它会打印出来

      > hostname
      ddopson.local
      

      您可以在System Preferences ==> Sharing ==> Computer Name(顶部的文本框)中进行编辑。请注意,在“计算机名称”文本框中,我填写了“ddopson”。

      如果您使用的是 WiFi,您应该能够从您的 iPhone 连接到该主机名 (ddopson.local)。这是因为 iOS 和您的 Mac 都支持Multicast DNS,其中一个多播 UDP 数据包被发送到 L2 网络以查找本地主机名。当你的 Mac 听到这个多播数据包时,它会用它的 IP 地址回复你的 iPhone,然后离开。

      【讨论】:

        猜你喜欢
        • 2016-06-01
        • 1970-01-01
        • 2016-05-14
        • 1970-01-01
        • 2015-06-14
        • 1970-01-01
        • 2015-01-02
        • 2013-04-14
        • 1970-01-01
        相关资源
        最近更新 更多