Czy istnieje interfejs API, dzięki któremu mogę stwierdzić, czy urządzenie Apple (iPad/iPod/iPhone), na którym działa moja aplikacja, obsługuje technologię Bluetooth Low Energy (BTLE).Jak mogę wykryć, czy moje urządzenie Apple obsługuje Bluetooth Low Energy
Odpowiedz
Zakładając, że urządzenie iOS5 lub iOS6 i że masz obiekt CBCentralManager, można sprawdzić jego CBCentralManagerState z następujących czynności:
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.";
}
Będziesz także chciał obejrzeć aktualizacje delegacji centralManagerDidUpdateState:central
, a następnie podejmij odpowiednie działania w swojej aplikacji.
Look dla CoreBluetooth.framework ... CBCentralManagerStateUnsupported itp
Inną opcją jest sprawdzenie, czy urządzenie obsługuje iBeacon. Jest tak dlatego, że urządzenie musi obsługiwać Bluetooth LE (tj. Bluetooth 4), aby znaleźć iBeacon. Wystarczy zaimportować CoreLocation i użyć następujących:
SWIFT:
if (CLLocationManager.isMonitoringAvailable(for: CLBeaconRegion.self)){
print("Bluetooth LE is supported")
}
Cel C:
if ([CLLocationManager isMonitoringAvailableForClass:[CLBeaconRegion class]]){
NSLog(@"Bluetooth LE is supported");
}
To zadziałało dla mnie. W ten sposób można uzyskać prosty wynik, zamiast próbować wykonać bardziej skomplikowany wzorzec przy użyciu stanu. – HotFudgeSunday
- 1. Bluetooth 4.0/Smart/Low energy na Samsung Galaxy S3
- 2. Problem z uwierzytelnianiem w urządzeniu BLE Bluetooth Low Energy
- 3. Android: Skaner Bluetooth Low Energy odbiera dane NULL
- 4. Połączenie inicjacyjne bez synchronizacji przy użyciu technologii Bluetooth Low Energy w systemie Android
- 5. Czy mogę utworzyć komputer Mac jako urządzenie peryferyjne Bluetooth?
- 6. Czy Android KitKat pozwala urządzeniom obsługującym Bluetooth LE działać jako urządzenie peryferyjne?
- 7. Jak sprawdzić, czy komputer obsługuje technologię bluetooth?
- 8. Jak mogę sprawdzić sprzętową obsługę BLE w systemie OS X?
- 9. Jak wykryć, czy przeglądarka obsługuje MJPEG?
- 10. Jak wykryć, czy przeglądarka obsługuje zdarzenia mouseover?
- 11. Czy można "sparować" urządzenie Bluetooth w Cocoa/ObjC?
- 12. Jak wykryć, czy Bluetooth iPhone'a użytkownika jest wyłączony czy włączony?
- 13. Debug urządzenie Android poprzez Bluetooth
- 14. Jak sparować urządzenie Bluetooth programowo? Android
- 15. Czy iPod Touch 4. generacji obsługuje Bluetooth LE?
- 16. Podłącz jedno urządzenie Bluetooth jako wiele urządzeń.
- 17. getUserMedia - jak wykryć, czy urządzenie rzeczywiście ma kamerę
- 18. Android - Jak sprawdzić, czy urządzenie obsługuje tylko Wi-Fi?
- 19. Jak wykryć użytkownika ręki trzymającego jego urządzenie?
- 20. Jak wykryć, czy procesor obsługuje technologię Intel Anti-Theft?
- 21. Rozgłaszanie, jeśli urządzenie bluetooth łączy się/rozłącza?
- 22. Czy urządzenie Flexbox może wykryć, kiedy element elastyczny jest opakowany?
- 23. Jak wykryć, czy przeglądarka obsługuje określoną pseudoklasę css?
- 24. Jak wykryć, czy przeglądarka obsługuje przesyłanie plików? (Mobile + Desktop)
- 25. Jak mogę sprawdzić, czy urządzenie IOS ma funkcje telefoniczne?
- 26. Czy JavaScript może wykryć, czy przeglądarka użytkownika obsługuje gzip?
- 27. Jak mogę sprawdzić, czy urządzenie peryferyjne jest podłączone do GPIO?
- 28. Czy Qt obsługuje interfejs API Bluetooth systemu Windows?
- 29. iOS8 sprawdź, czy urządzenie ma Touch ID
- 30. Jak rozpoznać * jakie * urządzenie Bluetooth powoduje transmisję ACTION_ACL_CONNECTED?
Jeśli dostanę '' CBCentralManagerStatePoweredOff' CBCentralManagerStatePoweredOn' czy jest to gwarancja, że BLE jest obsługiwany? –