2014-10-18 20 views
5

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

+2

Nie, to nie jest możliwe – Paulw11

+0

potrzebujesz jakiego rodzaju informacji? –

+0

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 –

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. :-)