В iOS 4.0 и выше, когда пользователь закрывает приложение, оно переводится в приостановленное состояние. Если вы не укажете это сделать иначе, обратные вызовы делегата не сработают, пока пользователь снова не откроет приложение. Вы можете проверить себя, написав несколько NSLogs в ваших обратных вызовах. Затем запустите приложение на тестовом устройстве и попробуйте закрыть приложение сразу после начала подключения. Подождите некоторое время и снова откройте приложение (все еще «работающее» в Xcode) и посмотрите, как будут вызываться обратные вызовы делегатов.
//somewhere just after you start the async connection
NSLog(@"Connection started...");
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error {
NSLog(@"Connection failed with error - %@",error);
}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
NSLog(@"D- Connection finished loading");
}
Если вы хотите, чтобы соединения продолжали работать после закрытия приложения пользователем, прочитайте « Выполнение кода в фоновом режиме » в Руководстве по программированию приложения iOs. .