当前位置:  开发笔记 > IOS > 正文

iPhone SDK Internet连接检测

如何解决《iPhoneSDKInternet连接检测》经验,为你挑选了2个好方法。

我正在开发一个iPhone应用程序,可以调用Web服务.我在Apple商店发布了这个应用程序,但它被拒绝了(这是正确的),因为如果没有可用的Internet连接,则没有向用户显示错误消息.很明显,没有它,应用程序就无法运行.

所以我只是想知道如何最好地实现这一目标?我猜测需要在viewDidLoad方法中添加一些警告框,说"你需要一个Internet连接才能使用这个应用程序".

任何想法,将不胜感激.



1> Andrew Grant..:

如果您的应用程序必须具有网络访问权限,最简单的方法是将以下设置作为布尔值添加到info.plist中.

SBUsesNetwork - 确保设备具有活动连接(编辑:不适用,这似乎是某人在某些时候发现的私有API.它不在Apple的开发人员文档中.)

UIRequiresPersistentWiFi - 确保设备通过WiFi连接

如果您的选择不正确,那么在启动您的应用程序时将向用户显示相应的消息.最重要的是,这个消息来自操作系统,因此是本地化的.

如果您的应用程序无法在运行时从网站下载数据(信号丢失,网站关闭),您应该仍然警告用户,而不是无限期地旋转.


如果我错了,请纠正我,但这些设置似乎有局限性.如果手机处于飞行模式,SBUsesNetwork仅会发出警报.UIRequiresPersistentWiFi仅在启用WiFi但未连接时才会发出警报.如果用户已禁用WiFi,则这两种设置似乎都不会引发警报.

2> Alex Reynold..:

Apple Developer Connection有一个示例应用程序(Reachability),它使用系统配置框架来确定网络状态.它会告诉您是否有WiFi,EDGE/3G或没有Internet连接.

您可以在应用程序中使用此代码的一部分来确定网络状态,然后在没有可用连接的情况下提供接口提示,例如UIAlertView.


我在这里记下了可达性:http://stackoverflow.com/questions/181485/determining-when-an-edge-connection-comes-back-after-a-dropout-on-an-iphone
推荐阅读
手机用户2502851955
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有