2012-02-03 146 views
9

所以我碰到不少问题。看起来ASIHTTPRequest只是不想在生产版本中工作。
一切工作在调试很好。但是,一旦我为生产构建,下面的代码就不想运行。它既没有完成也没有失败。 我也尝试使用选择器,与委托,但那些不被调用。ASIHTTPRequest生产失败构建

__block __weak ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:URL]; 
[self performSelectorOnMainThread:@selector(startSpinner) withObject:nil waitUntilDone:NO]; 

[request setCompletionBlock:^{ 
    [self performSelectorOnMainThread:@selector(stopSpinner) withObject:nil waitUntilDone:NO]; 
}]; 

[request setFailedBlock:^{ 
    [self performSelectorOnMainThread:@selector(stopSpinner) withObject:nil waitUntilDone:NO]; 
}]; 

[request startAsynchronous]; 

我知道这是一种我的问题的说明欠佳,但没有任何人有丝毫的线索,什么可能导致这个问题?

回答

22

它看起来像有在ASIHttpRequest一个bug,与发行方式的优化运行时,导致此崩溃。

什么工作对我来说是关闭的优化以下2个文件: ASIFormDataRequest.m ASIHTTPRequest.m

通过选择目标项目执行此操作,请在“编译 来源”部分的文件“构建阶段”选项卡;并添加-O0(国会大厦O零)。

你可以阅读更多关于它here

+0

太谢谢你了。 – endy 2012-03-11 12:40:03

+0

确实,谢谢你谢谢! – cheeesus 2013-04-17 11:59:26

+1

如何添加多个标志? 我需要添加这个标志-fno-objc弧,以使在ARC 工作也是你说我已经加入这个标志-O0,以使在发布模式下工作,我该怎么加2米的标志吗? – Abo3atef 2014-01-27 00:49:47