1

我一直在调整代码以使我的应用程序在新的 iOS6/iPhone5 上运行。

一切似乎都运行良好,直到用户告诉我该应用程序在通过 3G 连接时挂在他的 iPhone5 的欢迎屏幕上,使用 wifi 一切正常。

他给我发了崩溃日志,我注意到问题与以下代码中的“sendSynchronousRequest”部分有关:

- (void)loadCurrentURL {   NSString *appURL = [NSString stringWithFormat:@"%@@%@", app_SERVER_URL, @"auth/app/register"];

NSHTTPURLResponse *response = [[NSHTTPURLResponse alloc] init];
NSError *error;

[NSURLConnection sendSynchronousRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:appURL]] returningResponse:&response error:&error];
if (response.statusCode == 200) {
    self.currentValidURL = app_SERVER_URL;
} else {
    self.currentValidURL = app_APPLE_TEST_URL;
}
}

因此,在对 Apple 的文档和 StackOverFlow 进行了大量研究之后,我将代码更改为:

- (void)loadCurrentURL{   NSString *appURL = [NSString stringWithFormat:@"%@@%@", app_SERVER_URL, @"auth/app/register"];

 NSOperationQueue *queue = [[[NSOperationQueue alloc] init] autorelease];

 [NSURLConnection sendAsynchronousRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:appURL]]
 queue:queue
 completionHandler:^(NSURLResponse *response, NSData *data, NSError *error)
 {
 NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)response;
 if ([httpResponse statusCode] == 200) {
 self.currentValidURL = app_SERVER_URL;
 } else {
 self.currentValidURL = app_APPLE_TEST_URL;
 }
 }];
}

现在的问题是它挂在我的 iPhone4 设备和 iOS5,6 模拟器中。

我不是专家开发人员,我正在学习,所以我想知道是否有人对此有答案。任何帮助将不胜感激:)

非常感谢你。

(我知道在 stackOverFlow 上还有其他类似的问题,但似乎没有一个可以解决这个问题。)

4

0 回答 0