Я хочу проверить версию приложения от Apple, поэтому отправляю запрос как показано ниже
- (void)connectToCheckVersion{
NSString *url = @"http://itunes.apple.com/lookup?id=466424846";
TTURLRequest *_request = [TTURLRequest requestWithURL:url delegate:self];
_request.httpMethod = @"GET";
_request.cachePolicy = TTURLRequestCachePolicyNone;
_request.shouldHandleCookies = NO;
TTURLJSONResponse* response = [[TTURLJSONResponse alloc] init];
_request.response = response;
TT_RELEASE_SAFELY(response);
[_request send];
}
- (void)requestDidFinishLoad:(TTURLRequest*)request {
TTURLJSONResponse* response = request.response;
NSDictionary* json = response.rootObject;
NSArray *results = [json objectForKey:@"results"];
NSString *version;
for (NSDictionary *rawResult in results) {
version = [rawResult objectForKey:@"version"];
}
NSString *currentVersion = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"];
if (version != nil && currentVersion != nil && ![version isEqualToString:currentVersion]) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"info"
message:@"newer version"
delegate:self
cancelButtonTitle:@"ok"
otherButtonTitles:nil, nil];
[alert show];
[alert release];
}
}
и после [_request send]; получит [выпуск CFString]: сообщение отправлено освобожденному экземпляру 0x6a83e00. Я проверил все строки в этом методе, кажется, они в порядке, и я все еще могу получить правильный ответ от удаленного.
Если я закомментирую этот метод connectToCheckVersion, то никаких проблем не возникнет.
Любая умирает?