崩溃[AFHTTPRequestOperation错误]; (AFNetworking)

时间:2014-01-27 11:49:22

标签: ios objective-c afnetworking

我遇到了由AFNetworking引起的崩溃,至少是堆栈跟踪(下面)指向我的地方。我目前有457次此问题崩溃,但与应用程序获得的用户数量相比,这个数字足够小。

版本:1.1.0。 (我大约11个月过时了)

我今天更新到1.3.3。更新到2.0已经出现,但只是有点官僚作风处理。

该应用程序是基于网络的,通常在每个视图控制器上同时进行4次调用,每隔两分钟在同一个VC上,我将再次进行调用。这些调用是在一个operationQueue中,我确实在适当的时候调用了cancelALLOperations。在我们使用套接字更新的调用之间,我们有自己的实现。

VC可以同时使用imageWitUrl:最多20个图像。这些是缩略图大小的图像。

我的问题

  1. 有没有人处理smiler堆栈跟踪。你知道可重现的步骤吗?
  2. 我无法从提交中看到,但是有人知道它是在最新版本还是在2.0中解决了?
  3. 您认为我的代码可以实现afnetowrking吗?
  4. 我知道这不是最好的问题,特别是因为我已经过时但由于项目有很大的发布周期而且我无法重现它,我想建议我的同行。

    我发现了一个已关闭的问题,但它没有提及修复,https://github.com/AFNetworking/AFNetworking/issues/1574

    所有的调用都是AFJSONRequestOperation,我的标准调用的例子。

    AFJSONRequestOperation *requestOperation   = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) {
        // create our models and pass it back
        NSArray *results = [self parseBaseEventsWithDictionary:JSON andSort:NO];
        success (results);
    } failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, id JSON) {
         failure(error, response.statusCode, @"failure", JSON);
    }];
    
    return requestOperation;
    

    例外

    SIGSEGV
    SomeName -[AFHTTPRequestOperation error]
    

    我一直得到的Testflight报告中的Stack Trace:

      

    0 SomeName 0x0022fdea testflight_backtrace

         

    1 SomeName 0x0022f47e TFSignalHandler

         

    2 libsystem_platform.dylib 0x38878062 _sigtramp

         

    3 SomeName 0x0020d172 - [AFHTTPRequestOperation错误]

         

    4 SomeName 0x0020eb46 __65- [AFImageRequestOperation   setCompletionBlockWithSuccess:失败:] _ block_invoke_2

         

    5 libdispatch.dylib 0x38738d1a _dispatch_call_block_and_release

         

    6 libdispatch.dylib 0x3873e68e _dispatch_async_redirect_invoke $ VARIANT $ mp

         

    7 libdispatch.dylib 0x3873fd70 _dispatch_root_queue_drain

         

    8 libdispatch.dylib 0x3873ff58 _dispatch_worker_thread2

         

    9 libsystem_pthread.dylib 0x3887adbe _pthread_wqthread

         

    10 libsystem_pthread.dylib 0x3887ac83 start_wqthread

1 个答案:

答案 0 :(得分:1)

  

有没有人处理smiler堆栈跟踪。你知道可重现的步骤吗?

     

我无法从提交中看到,但有人知道它是在最新版本还是在2.0中解决过?

我找不到确切的问题,但我有一个非常强烈的回忆,这是在2.0发布之前这种固定的方式(并且在1.1.0之后的方式。)

  

您认为我的代码中可能只是如何实现AFNetworking吗?

我不这么认为,除非您直接修改了库。在完成处理程序中创建,存储和传回NSError对象。没什么太复杂的。

总结:我会假设更新到1.3.3修正了这个问题,除非您发现相反的信息。