所以我遇到了一个很大的问题。似乎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];
我知道这是对我的问题的一种不好的描述,但有没有人对可能导致这个问题的原因有任何线索?
答案 0 :(得分:22)
看起来ASIHttpRequest中存在一个错误,在使用发布模式优化运行时导致此崩溃。
对我有用的是关闭以下2个文件的优化: ASIFormDataRequest.m ASIHTTPRequest.m
通过选择目标项目来执行此操作,在“编译”中选择文件 来源“构建阶段”选项卡的“部分”;并添加-O0(国会大厦O零)。
您可以阅读更多相关信息here