Question

I use ASIHTTPRequest to do http requests in my iPhone app. ASIHTTPRequet comes with that feature that starts the activity indicator when issuing a request and stops it when finished. The problem is, once I started a request the indicator never stops and keeps spinning as long as my app runs.

Here is my code, a little utility method that fetches some content from the web synchroniously (since it gets started in a different thread):

ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL: [NSURL URLWithString: url]];
[request startSynchronous];

NSError *error = [request error];
NSString *response = nil;

if (error) {
    NSLog(@"error %@", error);
    return nil;
}

int statusCode = [request responseStatusCode];
response = [NSString stringWithString: [request responseString]];
NSLog(@"status code: %d response: %@", statusCode, response);

if (statusCode != 200) {
    return nil;
}

return response;

The above code works just fine, I get the contents of the given URL as a NSString only the indicator keeps spinning. My question is: Why does the indicator never stop and how to fix it? Do I have to release some resources here?

Was it helpful?

Solution

This is a bug that was fixed very recently in the development version of ASIHTTPRequest:

http://github.com/pokeb/asi-http-request/commit/35ea592084145b3332861344f36b52dbcaafa351

(It only affects synchronous requests started on a secondary thread)

OTHER TIPS

Can you try the same thing with an asynchronous request and see if that changes it? I use ASIHTTPRequest and I've never noticed this behavior, but I also never use synchronous requests.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top