【问题标题】:iPad wifi connection drop after sometime when sync is on the wayiPad wifi 连接在同步过程中的某个时间后断开
【发布时间】:2015-10-29 06:43:03
【问题描述】:

我们有一个 iPad 应用程序,它使用 Web 服务从 SQL 服务器获取数据。我们在 2011 年启动了该应用程序。以前同步工作正常。我们在 iOS 7 上进行了负载测试。当时我们还没有发现任何问题。但现在我们面临同步问题。有时 iPad 会断开 wifi 连接,因此同步失败。此外,setIdleTimerDisabled:YES 仅用于避免应用程序进入睡眠模式。

在搜索 SO 和 Apple 文档后,我们了解到为了节省电池寿命 iOS 会在 30 分钟后断开 wifi 连接。如果您想为您的应用程序提供持久的 wifi 连接,您需要设置

<key>UIRequiresPersistentWiFi</key>
    <true/>  

在您的应用程序 .plist 文件中。因此,据此我们在应用程序中添加了相同的标志。但我们仍然在同步遇到问题。我们在 iOS 9.0 版本的 iPad Air 2、iOS 8.4 版本的 iPad 2 上测试了我们的应用程序

如果有人对此有任何解决方案,请告诉我。

提前致谢。

【问题讨论】:

  • 两个设备都给出相同的错误(问题)?
  • 是的。我收到了网络连接丢失之类的错误。或某段时间互联网连接似乎处于离线状态。
  • 主要是当我在我们的应用程序中收到错误消息时,我会收到 Apple for In app purchase 的 Sign in Required 消息。表示 wifi 连接似乎有问题
  • pooja.. 让我们试试下面的 Internet 连接检查方法,然后再试一次。
  • 我遇到了完全相同的问题。 UIRequiresPersistentWiFi 曾经修复它,但现在我们仍然得到它。我完全疯了,寻找原因。如果您将应用程序置于后台,然后再次回到前台,则 WiFi 会恢复。我们怎样才能让它不出去?

标签: ios ipad synchronization wifi ios9


【解决方案1】:

这是完美的解决方案,可能对您检查互联网连接有所帮助。

使用这种方法进行互联网连接,用你的替换并再次检查,可能问题会解决..干杯

**in your Appdelegate.m File**

//Check Internet Plugin
#include<unistd.h>
#include<netdb.h>
/////

#pragma mark Check Internet connection
-(BOOL)checkInternetConnection {
    
    char *hostname;
    struct hostent *hostinfo;
    hostname = "google.com";
    hostinfo = gethostbyname (hostname);
    if (hostinfo == NULL)
    {
        NSLog(@"-> no connection!\n");
        return NO;
    }
    else{
        NSLog(@"-> connection established!\n");
        return YES;
    }
}

试试上面的代码,它运行良好且完美

【讨论】:

  • 感谢您的回复。但我们没有检查互联网连接。我们只需使用 NSURLConnection 向 Web 服务发送请求并等待响应。但是当 WIFI 掉线时,它会调用 didfailwitherror 委托函数,因此我得到了错误。
  • 我明白你的意思。但我认为您必须在 Wifi 连接/断开连接时对其进行管理。您必须检查有多少数据待上传,并在 Wifi 可用时发送。这样做很简单。知道了 ?这是个好主意吗?
猜你喜欢
  • 2017-05-21
  • 2017-07-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-16
相关资源
最近更新 更多