2015-08-19 126 views
0

我有一個要求,其中一些功能必須工作在無線上網的不同而不同的蜂窩網絡以確定4G LTE,我們用下面的代碼的網絡來區分的基礎上,如何使用Reachibility呼叫

-(int)isNetworkType 
{ 

    Reachability* reachability = [Reachability reachabilityForInternetConnection]; 

    NetworkStatus netStatus = [reachability currentReachabilityStatus]; 

    return netStatus; 
} 


-(void)checkCellularNetWork 
{ 

    if ([self isNetworkType] == 2) { //via WWAN 


    } 
    else if(self isNetworkType] == 1){ // via WIFI 

    } 

} 

NetWorkStatus我們正在處理功能實現的標誌,但4G LTE支持的條件是WWAN,我們如何處理這個問題,我們只需要在蜂窩網絡中處理4GLTE。

我們該如何處理?

+0

我推薦你[這篇文章](http://stackoverflow.com/questions/28854560/how-to-return-bool-when-checking-internet-connection-in-xcode/28855098#28855098) –

+0

您可以確定它是WIFI還是WWAN。並按照您的要求模製 –

+0

我在後端使用了類似代碼,但是當我連接到4G LTE時,它不會處於「ReachableViaWWAN」狀態。 – kiri

回答

2

你並不需要使用可達檢測LTE

這是什麼,可以幫助你

CTTelephonyNetworkInfo *telephonyNetworkInfo = [CTTelephonyNetworkInfo new]; 
if ([telephonyNetworkInfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyLTE]) 
{ 
    // you are connected with LTE Connection... 
} 

不要忘了在你的.h文件中添加#import <CoreTelephony/CTTelephonyNetworkInfo.h>