2012-11-27 14 views
13

क्या कोई एपीआई है जिसके माध्यम से मैं बता सकता हूं कि ऐप्पल डिवाइस (आईपैड/आईपॉड/आईफोन) जो मेरा ऐप चल रहा है ब्लूटूथ लो एनर्जी (बीटीएलई) का समर्थन करता है।मैं कैसे पता लगा सकता हूं कि मेरा सेब डिवाइस ब्लूटूथ कम ऊर्जा का समर्थन करता है

उत्तर

14

मान लें कि आप एक iOS5 या iOS6 डिवाइस है और आप एक CBCentralManager वस्तु है, आप निम्नलिखित के साथ अपने CBCentralManagerState जाँच कर सकते हैं:

switch ([_manager state]) 
{ 
    case CBCentralManagerStateUnsupported: 
     state = @"This device does not support Bluetooth Low Energy."; 
     break; 
    case CBCentralManagerStateUnauthorized: 
     state = @"This app is not authorized to use Bluetooth Low Energy."; 
     break; 
    case CBCentralManagerStatePoweredOff: 
     state = @"Bluetooth on this device is currently powered off."; 
     break; 
    case CBCentralManagerStateResetting: 
     state = @"The BLE Manager is resetting; a state update is pending."; 
     break; 
    case CBCentralManagerStatePoweredOn: 
     state = @"Bluetooth LE is turned on and ready for communication."; 
     break; 
    case CBCentralManagerStateUnknown: 
     state = @"The state of the BLE Manager is unknown."; 
     break; 
    default: 
     state = @"The state of the BLE Manager is unknown."; 

} 

आप centralManagerDidUpdateState:central प्रतिनिधि अपडेट के साथ भी देखना चाहते हैं, फिर अपने ऐप में उचित कार्रवाई करें।

+0

अगर मैं 'मिल CBCentralManagerStatePoweredOn' या' CBCentralManagerStatePoweredOff' कि एक गारंटी BLE समर्थित है कि है? –

3

एक और विकल्प यह जांचना है कि डिवाइस iBeacons का समर्थन करता है या नहीं। ऐसा इसलिए है क्योंकि डिवाइस को iBeacon खोजने के लिए ब्लूटूथ LE (यानी ब्लूटूथ 4) का समर्थन करना चाहिए। बस CoreLocation आयात और निम्न का उपयोग करें:

स्विफ्ट:

if (CLLocationManager.isMonitoringAvailable(for: CLBeaconRegion.self)){ 
    print("Bluetooth LE is supported") 
} 

उद्देश्य सी:

if ([CLLocationManager isMonitoringAvailableForClass:[CLBeaconRegion class]]){ 
    NSLog(@"Bluetooth LE is supported"); 
} 
+0

यह मेरे लिए काम किया। राज्य का उपयोग करके कुछ और जटिल पैटर्न करने की कोशिश करने के बजाय, आप एक साधारण गेटर प्राप्त कर सकते हैं। – HotFudgeSunday

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

  • कोई संबंधित समस्या नहीं^_^