【问题标题】:Get iPhone app to use carrier data as wifi has no internet获取 iPhone 应用程序以使用运营商数据,因为 wifi 没有互联网
【发布时间】:2012-01-22 01:15:48
【问题描述】:

我有一个通过 wifi 与网络通信的应用程序。我的问题是wifi网络没有互联网连接,所以我想使用运营商网络与外界交谈,同时也连接到wifi。

我进行了一些搜索,但没有找到解决问题的方法。许多答案都与 Reachability 相关,但 Reachability 类指示了哪些连接可用,但无法确认站点是否可访问(足够公平,因为站点可能已关闭)。

基本上我想强制我的应用对某些 URL 使用 CDN,即使它连接到它用于其他 URL 的 WIFI 网络。

这可以通过编程方式完成吗?否则用户必须手动打开/关闭 wifi 网络才能让应用使用 CDN。

谢谢

【问题讨论】:

  • 到目前为止,我知道,没有可用的机制来强制使用网络。 iOS 设备决定自己使用可用的CDNWifi

标签: iphone xcode wifi cdn reachability


【解决方案1】:

您不能通过您的代码强制操作系统使用运营商网络进行互联网。

如果 WIFI 可用,通过它连接手机并且该 wifi 网络没有互联网 - 您无法强制您的应用使用运营商网络进行互联网连接 - 所以知道 wifi 网络是否有互联网是没有意义的互联网连接。

对于另一种情况,如果用户手动关闭wifi,操作系统将自动切换到运营商网络上网。

【讨论】:

    【解决方案2】:

    就像 samfisher 所说的那样,目前无法通过公共 API 进行编程。

    如果有帮助,请查看link

    我有类似的问题,但在我的应用程序中,我一次只与一个 AP 通信只是为了检查它的 SSID,所以我从讨论中得到的不设置默认网关和 DNS 服务器的简单知识足以解决我的问题。就像 Waqas Raja 所说,iOS 设备自己决定是使用CDN 还是Wifi,所以我认为通过不设置 DNS 服务器和默认网关(BTW 不是一个知识渊博的人)它使 iPhone 不使用 WiFi 接入点连接路由到互联网,因此使用CDN 连接到互联网。

    所以在我看来,只要 iPhone 识别出 WiFi 网络无法路由到互联网连接,它就会转向CDN

    我希望这个答案会有所帮助,因为这是我第一次尝试这样做。

    【讨论】:

      猜你喜欢
      • 2012-02-12
      • 2010-12-10
      • 1970-01-01
      • 1970-01-01
      • 2011-10-06
      • 2012-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多