我正在致力于调用Web服务的iPhone应用程序。我在苹果商店发布了这个应用程序,但它被拒绝了(并且正确如此),因为如果没有可用的互联网连接,则没有向用户显示错误消息。由于显然这个应用程序没有它就无法运行iPhone SDK互联网连接检测
所以我只是想知道如何最好地实现这一目标?我猜一些需要去viewDidLoad
方法,将抛出一个警告框,说“你需要一个互联网连接来使用这个应用程序”。
任何想法,将不胜感激。
我正在致力于调用Web服务的iPhone应用程序。我在苹果商店发布了这个应用程序,但它被拒绝了(并且正确如此),因为如果没有可用的互联网连接,则没有向用户显示错误消息。由于显然这个应用程序没有它就无法运行iPhone SDK互联网连接检测
所以我只是想知道如何最好地实现这一目标?我猜一些需要去viewDidLoad
方法,将抛出一个警告框,说“你需要一个互联网连接来使用这个应用程序”。
任何想法,将不胜感激。
如果您的应用程序必须具有网络访问权限,最简单的方法是将以下设置作为布尔值添加到您的info.plist中。
如果您的选择不正确,那么在启动应用程序时,用户将看到适当的消息。所有这些信息都来自OS,因此是本地化的。
如果您的应用程序在运行时无法从网站下载数据(丢失信号,网站停止运行),您仍然应该警告用户,而不是无限期地旋转。
Apple Developer Connection有一个示例应用程序(Reachability),它使用系统配置框架来确定网络状态。它会告诉你你是否有WiFi,EDGE/3G或没有互联网连接。
您将在应用程序中使用此代码的一部分来确定网络状态,然后在没有可用连接的情况下提供接口提示,如UIAlertView。
警示词:谨防SBUsesNetwork。我个人很想知道SBUsesNetwork最初是从哪里来的,因为它在苹果公司的文档中没有提到,我可以找到它。当我将该键添加到我的应用程序的plist(作为布尔值)并设置为true时,它似乎不会影响我的应用程序的行为 - 我不会收到有关飞行模式的警告,无论是完全重新启动应用程序还是前景以前的发射是背景。
我的应用程序将UIRequiresPersistentWifi设置为true,这看起来也可以做人们声称SBUsesNetwork所做的工作(加上其他的东西!)。
(我在iPhone 4上运行iOS4.2.1,XCode 3.2.5 64位)。
伟大的提示,谢谢! – 2009-02-27 21:36:19
优秀。谢谢。 – givp 2009-02-27 21:38:32
您是否必须为“SBUsesNetwork”分配一个值或者将其添加为键?我无法在iPhone SDK或Apple Developer Support站点上找到任何文档:-( – 2009-03-26 00:30:31