在应用程序中仅使用 WiFi 连接(不是蜂窝网络)?

Posted

技术标签:

【中文标题】在应用程序中仅使用 WiFi 连接(不是蜂窝网络)?【英文标题】:Use only WiFi connection (not cellular network) in app? 【发布时间】:2011-11-29 20:08:12 【问题描述】:

我的应用在 Apple 应用商店被拒绝。

要解决此问题,它必须在用户使用应用程序时仅使用 WiFi 而不是蜂窝网络连接。应用程序使用 UIWebView -- 我们如何才能实现这个限制?

任何帮助将不胜感激, 谢谢!

【问题讨论】:

@pst:这取决于应用程序。我最近将手机连接到笔记本电脑,因为我不想每天支付 15 美元的酒店上网费用,并且因为 Windows 7 决定在背景。 为什么您的应用因使用蜂窝网络而被拒绝?许多应用程序使用蜂窝数据?很好奇,因为我将提交一个需要互联网连接的应用程序,并且我想在提交之前阻止任何事情。你做了他们反对的具体事情吗? 【参考方案1】:

看看 Apple 的 Reachability 示例。

通过它,您可以查询设备当前的网络状态,这样您就可以知道 Wifi 是否可用,或者连接是否需要蜂窝网络。在最后一种情况下,您可能会显示警报,并阻止您的 UIWebView 加载数据。

编辑

如果您已将可达性类导入您的项目,并添加了所需的框架,这里有一个示例。这将测试可用的 WiFi 连接:

Reachability * reach;
NetworkStatus  status;

reachability = [ Reachability reachabilityForLocalWiFi ];
status       = [ reach currentReachabilityStatus ];

if( status == ReachableViaWiFi )

    /* Hurray, you've got a WiFi connection! */

else

    /* No WiFi connection - Alert the user! */

【讨论】:

任何教程如何在应用程序中实现仅wifi? 这其实是一个教程。下载示例应用并尝试。 您真正需要的只是 Reachability 类,以及如 Macmade 所说的 -(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType; 的自定义实现。 我不知道该怎么做。几周前我开始编程。我将框架和 Reachability.h 导入到我的项目中。但不知道我现在要做什么 谢谢。我已经添加了框架并将 Reachability.h 添加到我的项目中。那是对的吗?现在我必须写什么来让应用程序只使用 wifi 连接而不是蜂窝数据?对不起,我是新来的。非常感谢您的帮助!

以上是关于在应用程序中仅使用 WiFi 连接(不是蜂窝网络)?的主要内容,如果未能解决你的问题,请参考以下文章

该应用程序需要能够离线工作,以便以后通过 WiFi 或蜂窝连接上传

iOS 应用程序可以在通过 WiFi 进行“无线配件配置”时使用蜂窝互联网连接吗?

设备在Android中连接到WiFi时如何获取蜂窝网络的IP地址

蜂窝连接的 UIRequiresPersistentWiFi 等效项

C#如何指定网络(网卡)利用socket通信呢?

如何在使用 AFNetworking 的 iOS 应用程序上通过蜂窝数据连接互联网的同时通过 WiFi 拥有 FlashAir 接入点?