Jestem nowy w tej społeczności. Potrzebuję pomocy w rozwiązaniu problemu z Bluetooth w Objective-C. Chcę odkryć wszystkie dostępne urządzenia bluetooth i uzyskać informacje o istniejącym połączeniu. (Nie skanuj urządzeń peryferyjnych!) Czy to możliwe w systemie iOS? Na przykład listę w Ustawienia> Bluetooth!Lista dostępnych urządzeń bluetooth z informacjami programowo
5
A
Odpowiedz
0
Tak i nie. To zależy od konfiguracji.
Nie, nie jest to możliwe przy użyciu publicznego interfejsu API.
Tak, jest to technicznie możliwe z BluetoothManager.framework
. Mój projekt demonstracyjny BeeTee ¹ pokazuje sposób i enkapsulację podległej części.
Jednak na podstawie AppStore guideline §2.5 na prywatnych (nielegalnych) funkcji nie jest możliwe, aby publikować aplikacje z BeeTee i BluetoothManager.framework
w AppStore.
Jeśli zdecydujesz się pójść z ramami BeeTee, można łatwo wymienić wszystkie urządzenia Bluetooth w zakresie:
class Demo: BeeTeeDelegate {
let beeTee = BeeTee()
init() {
beeTee.delegate = self
beeTee.enableBluetooth()
beeTee.startScanForDevices()
}
func receivedBeeTeeNotification(notification: BeeTeeNotification) {
switch notification {
case .DeviceDiscovered:
for device in beeTee.availableDevices {
print(device)
}
default:
print(notification)
}
}
}
Jeśli używasz iOS 11, należy rozważyć również pull request #16. Niestety, w tej chwili jestem zbyt zajęty, aby połączyć się z tą prośbą o odciągnięcie.
¹ Jestem autorem BeeTee. :-)
Nie, to nie jest możliwe – Paulw11
potrzebujesz jakiego rodzaju informacji? –
ponieważ firma Apple jest bardzo świadoma prywatności i bezpieczeństwa, nie zapewnia żadnego interfejsu API w celu uzyskania jakichkolwiek informacji poza połączeniami wymaganymi do prawidłowego działania aplikacji, aby zachować integralność i bezpieczeństwo innych połączeń uruchomionych z powodu innej aplikacji lub procesu –