2012-04-15 8 views
7

मैं अपने वर्तमान कनेक्शन का पता लगाने के लिए पहुंच क्षमता API का उपयोग कर रहा हूं, लेकिन मैं केवल वाईफ़ाई और 3 जी के बीच अंतर कर सकता हूं।क्या आईओएस एसडीके का उपयोग कर एलटीई कनेक्शन का पता लगाना संभव है?

मैं निम्नलिखित झंडे मिलती है:

एलटीई: kSCNetworkReachabilityFlagsIsLocalAddress|kSCNetworkReachabilityFlagsIsWWAN|kSCNetworkReachabilityFlagsTransientConnection|kSCNetworkReachabilityFlagsReachable

वाईफ़ाई: kSCNetworkReachabilityFlagsIsDirect|kSCNetworkReachabilityFlagsReachable

समस्या यह है कि एलटीई रिटर्न 3G कनेक्शन के रूप में ही झंडे है। क्या यह निर्धारित करने का कोई तरीका है कि उपयोगकर्ता के पास वर्तमान में एलटीई या 3 जी है या नहीं?

+0

क्या आप उच्च बैंडविड्थ में रुचि रखते हैं जो नेटवर्क के साथ आता है या सिर्फ नेटवर्क के प्रकार के साथ आता है? पूर्व के लिए एक कामकाज है, लेकिन उत्तरार्द्ध नहीं है। – bendu

+0

मुझे लगता है कि वर्कअराउंड बस कुछ डाउनलोड करने और गति को ट्रैक करने का प्रयास करना है? –

उत्तर

3

मुझे आश्चर्य है कि यह छुपा कोर टेलीफोनी एपीआई आपको यह निर्धारित करने के लिए पर्याप्त जानकारी प्रदान कर सकता है कि आप एलटीई या धीमी तकनीक से जुड़े हुए हैं या नहीं।

CTRegistrationGetCurrentMaxAllowedDataRate(); 

यह प्रयोग करने योग्य हो सकता है।

अधिक यहाँ निजी APIs का उपयोग के बारे में: iPhone mobile number using Core telephony

हालांकि, मैं पढ़ा है, जो आपके ऐप्लिकेशन सेब द्वारा अस्वीकार कर दिया जाएगा अगर आप निजी एपीआई का उपयोग करें।

15

आईओएस 7 के रूप में, आप CoreTelephony ढांचे में CTTelephonyNetworkInfo की currentRadioAccessTechnology संपत्ति का उपयोग करके इसे पा सकते हैं।

#import <CoreTelephony/CTTelephonyNetworkInfo.h> 

CTTelephonyNetworkInfo *networkInfo = [CTTelephonyNetworkInfo new]; 

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

क्या किसी को पता है कि 'currentRadioAccessTechnology' विधि पर कोई दस्तावेज क्यों नहीं है? https://developer.apple.com/library/ios/documentation/NetworkingInternet/Reference/CTTelephonyNetworkInfo/Reference/Reference.html – Robert

+0

इस विधि में आईओएस 7.0 जोड़ा गया लेकिन यह दस्तावेज नहीं जोड़ा गया था। हेडर फ़ाइल "CTTelephonyNetworkInfo.h" '' oc @property (nonatomic, readonly, retain) NSString * currentRadioAccessTechnology __OSX_AVAILABLE_STARTING (__ MAC_NA, __ IPHONE_7_0); '' – TopChul

+1

यह अभी भी औपचारिक रूप से दस्तावेज नहीं है जो मुझे परेशान करता है। मैंने इसे पकड़ने की कोशिश में रखा ताकि अगर इसे हटा दिया जाए तो मुझे कुछ डिफ़ॉल्ट व्यवहार हो सकता है। –

संबंधित मुद्दे