-4

我尝试使用此代码检查我的应用程序中的网络连接,但它始终使用连接不成功的代码。这是我的代码:

- (void)applicationDidBecomeActive:(UIApplication *)application {

NSData *dataURL =  [NSData dataWithContentsOfURL: [ NSURL URLWithString: @"example.com/in-app/net.test" ]];
NSString *serverOutput = [[NSString alloc] initWithData:dataURL encoding: NSASCIIStringEncoding];
if([serverOutput isEqualToString:@"internet is working"]){


    UIAlertView *alertsuccess = [[UIAlertView alloc] initWithTitle:@"Conection Succesful" message:@"You have succesfully connected to our server. "
                                                          delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];

    [alertsuccess show];
    [alertsuccess release];


} else {
    UIAlertView *alertsuccess = [[UIAlertView alloc] initWithTitle:@"Connection Unsuccesful" message:@"failed to connect"
                                                          delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
    [alertsuccess show];
    [alertsuccess release];  
}

}

再说一次,我如何检查在 Objective-C 中服务器是否可以访问?此代码应该可以工作并且服务器端代码可以工作,但在应用程序中却不能。

4

2 回答 2

3

URLWithString期望包含该方案的符合 RFC 2396 的 URL(例如“http”):

[NSURL URLWithString:@"http://example.com/in-app/net.test"]
于 2013-05-05T17:16:54.240 回答
1

实现这一点的一个更简单的方法是使用 Apple 的 Reachability 类,它使用 SystemConfiguration 框架来检查是否有可用的互联网连接。

我强烈建议您查看这两个指向苹果开发者网站的链接。

于 2013-05-05T20:09:04.783 回答