网络处于LTE时,可达性测试失败

时间:2014-04-22 06:36:03

标签: ios iphone objective-c networking lte

  1. 某些用户(在特定运营商上,使用4g)我的应用无法加载照片。

  2. 并且可达性测试也失败了。但我可以毫无问题地访问我的一些后端API。

  3. 但是,当我使用WiFi测试我的应用时,这种情况永远不会发生。

  4. 什么可能导致这个问题?

    可达性测试代码:

    - (IBAction)fbButtonPressed:(id)sender {
    
        internetReachableFoo = [Reachability reachabilityWithHostname:@"http://www.google.com"];
    
        // Internet is reachable
        __weak id weakSelf = self;
        internetReachableFoo.reachableBlock = ^(Reachability*reach)
        {
            // Update the UI on the main thread
            dispatch_async(dispatch_get_main_queue(), ^{
                [weakSelf showLoadingIndicators];
                [[User sharedInstance] attemptToLoginToFB];
                [[Mixpanel sharedInstance] track:@"Try to login using FB"];
            });
        };
    
        // Internet is not reachable
        internetReachableFoo.unreachableBlock = ^(Reachability*reach)
        {
            // Update the UI on the main thread
            dispatch_async(dispatch_get_main_queue(), ^{
                UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Network Unavailable"
                                                                message:@"Try again when you are connected."
                                                               delegate:nil
                                                      cancelButtonTitle:@"OK"
                                                      otherButtonTitles: nil];
                [alertView show];
    
            });
        };
    
        [internetReachableFoo startNotifier];
    }
    

1 个答案:

答案 0 :(得分:1)

4G网络是新的,并且经常使用与同一运营商3G网络不同的网络设备,因此这可能很容易成为运营商问题,而不是您的应用程序的问题。如果你只是在4G而不是3G中看到这个,那么我也会调查其他运营商,看看那里是否存在问题,如果没有,那么我会向问题运营商技术支持团队查询 - 如果你能给他们确切的URL您正在使用下载照片,然后他们应该能够快速测试。

如果您的网络有4G加密狗(假设您使用某种REST接口访问服务器上的功能),您还可以尝试使用连接到该运营商的PC上的REST客户端进行测试。如果这只是在他们的网络上失败,那么他们的技术团队应该能够很快地解决它(你将为他们有效地完成很多艰苦的工作,他们中的大多数人都会欣赏)。