ASIHTTPRequest在iOS 3.1.3上崩溃

时间:2011-08-04 08:41:42

标签: ios crash asihttprequest ios-3.x

我的应用程序在调用[[ASIHTTPRequest alloc] initWithURL:url]后立即崩溃;在我的iPod Touch 1G上。它在iOS 4.x上没有问题。

我看到的错误是Error Domain = ASIHTTPRequestErrorDomain Code = 10 UserInfo = 0x368790“NSRangeException”

我从我实施的崩溃管理器系统获得的回溯是

backtrace: (
"0   MayasDUp                            0x0007f21b -[SWCrashManager backtrace] + 18",
"1   MayasDUp                            0x0007ece1 sighandler + 144",
"2   libSystem.B.dylib                   0x3049e7eb _sigtramp + 26",
"3   MayasDUp                            0x0005128b -[ASIHTTPRequest buildPostBody] + 850"

我甚至单独调用[[ASIHTTPRequest alloc] initWithURL:url]调用,而不执行任何其他操作,例如设置post变量和启动连接。崩溃仍然发生。

我已经在ASIHTTPRequest中放置了断点并记录了NSLog,但没有任何用处。

有没有人有类似的问题?

2 个答案:

答案 0 :(得分:1)

经过多次挖掘,我发现问题非常严重,实际上是编译器错误。

简而言之,使用LLVM 2.0并设置优化级别>没有项目导致损坏的编译文件(ASIHTTPRequest和ASIFormDataRequest)导致崩溃并且在堆栈跟踪中没有提供真实数据。

我们应用的解决方案是保持编译器和优化设置不变,并为出现此问题的2个ASIHttp文件添加-O0编译器标志。

其他用户报告称XCode 4.0.2修复了编译问题。

对于任何有兴趣的人,这里有一些细节: http://groups.google.com/group/asihttprequest/browse_thread/thread/c598649bfe71643c/8ee09defd12386ba?lnk=gst&q=crashes#8ee09defd12386ba

答案 1 :(得分:0)

你可能在主线程上运行的东西花了10多秒。你在做同步http请求吗?你必须使用:

[request startAsynchronous];

如果你在主线上。