我正在开发一个应用程序,用户在某些时候必须等待来自 Web 服务的正确响应。这可能需要一些时间,因为它需要来自 web 服务的手动确认。因此,请求的 timeoutInterval 设置得非常高,以防止它过早终止。
在程序返回主屏幕后立即启动应用程序时出现问题。应用程序将无法启动(黑屏),我认为这是因为请求尚未释放并且仍在等待响应(虽然我可能错了)。
我尝试了 applicationWillTerminate 方法,但按下主页按钮时没有调用它。同样,这可能是因为应用程序仍在等待响应,但非常感谢您提供更好的解释:)
另外,有人知道该怎么做吗?
代码:
NSURLRequest *theRequest=[NSURLRequest requestWithURL:[NSURL URLWithString:urlAdress]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:10000];
NSHTTPURLResponse* response = nil;
NSError* error = nil;
NSData *responseData = [NSURLConnection sendSynchronousRequest:theRequest
returningResponse:&response
error:&error];