2012-04-15 16 views
7

Geçerli bağlantımı algılamak için ulaşılabilirlik API'sini kullanıyorum, ancak yalnızca WIFI ile 3G arasında ayrım yapabiliyorum.iOS SDK kullanarak LTE bağlantısını tespit etmek mümkün mü?

aşağıdaki bayrakları olsun:

LTE: kSCNetworkReachabilityFlagsIsLocalAddress|kSCNetworkReachabilityFlagsIsWWAN|kSCNetworkReachabilityFlagsTransientConnection|kSCNetworkReachabilityFlagsReachable

WIFI: kSCNetworkReachabilityFlagsIsDirect|kSCNetworkReachabilityFlagsReachable

sorun LTE 3G bağlantısı ile aynı bayrakları döndürür olmasıdır. Kullanıcının şu anda LTE veya 3G olup olmadığını belirlemek için herhangi bir yolu var mı?

+0

Ağla birlikte gelen daha yüksek bant genişliğiyle mi yoksa yalnızca ağın türü ile mi ilgileniyorsunuz? Eski için bir geçici çözüm var, ancak ikincisi değil. – bendu

+0

Çözümün sadece bir şey indirip hızını izlemeyi denemeyi düşünüyorum. –

cevap

3

Bu gizli Çekirdek Telefon API'sinin size bir LTE'ye mi yoksa daha yavaş bir teknolojiye mi bağlı olduğunuzu belirlemeniz için yeterli bilgiyi sağlayabileceğini merak ediyorum.

Denemeye değer olabilir.

Daha burada özel API'leri kullanarak ilgili: iPhone mobile number using Core telephony

Ancak, ben size özel API'leri kullanırsanız uygulama elma tarafından reddedilmiş olacağını okudum.

15

iOS 7'den itibaren, CoreTelephony çerçevesinde CTTelephonyNetworkInfo'un currentRadioAccessTechnology özelliğini kullanarak bunu bulabilirsiniz.

#import <CoreTelephony/CTTelephonyNetworkInfo.h> 

CTTelephonyNetworkInfo *networkInfo = [CTTelephonyNetworkInfo new]; 

if ([networkInfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyLTE]) { 
    // ... 
} 
+2

"currentRadioAccessTechnology" yöntemiyle ilgili neden belge olmadığını bilen var mı? https://developer.apple.com/library/ios/documentation/NetworkingInternet/Reference/CTTelephonyNetworkInfo/Reference/Reference.html – Robert

+0

Bu yöntem iOS7.0'ı ekledi, ancak belge eklemiyordu. "CTTelephonyNetworkInfo.h" başlık dosyasını kontrol edin '' ' @property (nonatomic, readonly, retain) NSString * currentRadioAccessTechnology __OSX_AVAILABLE_STARTING (__ MAC_NA, __ IPHONE_7_0); '' ' – TopChul

+1

Bu hala resmî olarak belgelenmiyor, bu da beni tedirgin ediyor. Onu yakalamaya çalışırsam, bazı varsayılan davranışları yakalayabilmem için bunu deneyin. –

İlgili konular