【问题标题】:AsyncSocket crash on sleep mode for iPadAsyncSocket 在 iPad 的睡眠模式下崩溃
【发布时间】:2014-01-24 14:20:23
【问题描述】:

我正在将 robbiehanson/CocoaAsyncSocket 用于异步套接字,当我的 iPad 进入后台状态时,我断开并关闭所有端口,但有时当 iPad 从睡眠中醒来时它崩溃了,当 mac 进入时与模拟器相同睡眠模式。一旦我将崩溃日志作为 [AsyncSocket close] 无法识别的实例发送到选择器。

我无法找到解决方案,任何人都可以帮助我解决这个问题。以下是我的断开连接代码。

- (void) enterBackground
{

  if (self.discoveryUdpSocket!=nil)
 {
    self.discoveryUdpSocket.delegate = nil;
    [self.discoveryUdpSocket close];
 }

  self.discoveryUdpSocket.delegate = nil;
  self.discoveryUdpSocket = nil;

}

【问题讨论】:

    标签: ios objective-c ipad cocoa-touch asyncsocket


    【解决方案1】:

    您是否尝试过延长进入后台模式的时间以让套接字框架完成其工作?

    我的意思是在应用程序委托中添加一个方法:

    -(void)applicationDidEnterBackground:(UIApplication *)application {
            UIApplication *app = [UIApplication sharedApplication];
            __block UIBackgroundTaskIdentifier bgTask = 0;
            bgTask = [app beginBackgroundTaskWithExpirationHandler:^{
                NSLog(@"Times up!");
                [application endBackgroundTask:bgTask];
                bgTask = UIBackgroundTaskInvalid;
            }];
            // Let the async socket to complete its job and finally close the connection
            dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
                NSLog(@"Finishing job and closing async socket, time remaining=%f", [app backgroundTimeRemaining]);
                // Calling your background routine
                [self enterBackground];
                [app endBackgroundTask:bgTask];
                bgTask = UIBackgroundTaskInvalid;
            });
    }
    

    这是在应用暂停之前完成重要工作的好方法。您最多有 180 秒。

    【讨论】:

    • 我应该在套接字关闭方法之前还是之后添加它?
    • 添加了调用您的方法“enterBackground”的代码。希望应该会奏效。
    • 应用崩溃时显示日志输出
    • 我已在问题中添加了崩溃报告
    • @Prernachavan,感谢您的报告,可惜没用,请象征性地看一下,即这里Symbolicating an iOS crash logOverview of iOS Crash Reporting
    猜你喜欢
    • 1970-01-01
    • 2017-03-20
    • 1970-01-01
    • 2013-12-09
    • 1970-01-01
    • 2010-12-20
    • 1970-01-01
    • 2012-10-08
    • 1970-01-01
    相关资源
    最近更新 更多