setCompletionBlock:仅在模拟器中导致EXC_BAD_ACCESS。在设备上正常工作

时间:2012-05-29 22:53:39

标签: ios5 asihttprequest exc-bad-access asiformdatarequest

在模拟器中,使用ASIHTTPRequest的setCompletionBlock:消息始终会导致EXC_BAD_ACCESS错误。即使将NSZombieEnabled设置为YES也无法说明情况。

__weak ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];

[request setCompletionBlock:^{
        int statusCode = [request responseStatusCode];
        NSLog(@"%d",statusCode);
          }];

 [request setFailedBlock:^{  
        // send statuscode error back
        int statusCode = [request responseStatusCode];
        NSLog(@"%d",statusCode);
    }];

    [request startAsynchronous];

1 个答案:

答案 0 :(得分:0)

好的,所以花了2天后,我终于找到了解决办法:修复我的链接器标志

基本上你必须将-weak_library /usr/lib/libSystem.B.dylib更改为-weak-lSystem。

我之前添加了这个,因为Urban Airship需要它。

非常感谢以下参考文献:

EXC_BAD_ACCESS when copying or retaining Block

iPhone simulators crash on app launch