tutorial corebluetooth ble macos bluetooth swift iobluetooth

macos - corebluetooth - ios bluetooth swift tutorial



Enumerar los dispositivos que se encuentran dentro del alcance del dispositivo Bluetooth en Swift (1)

Para decirle a un área de juegos que su código hace algo en segundo plano, debe import XCPlayground y llamar a XCPSetExecutionShouldContinueIndefinitely() .
Esto mantendrá viva la IOBluetoothDeviceInquiry en el patio de recreo y le permitirá llamar al método de delegado cuando haya terminado.

import Cocoa import IOBluetooth import XCPlayground class BlueDelegate : IOBluetoothDeviceInquiryDelegate { func deviceInquiryComplete(sender: IOBluetoothDeviceInquiry, error: IOReturn, aborted: Bool) { aborted println("called") var devices = sender.foundDevices() for device : AnyObject in devices { if let thingy = device as? IOBluetoothDevice { thingy.getAddress() } } } } var delegate = BlueDelegate() var inquiry = IOBluetoothDeviceInquiry(delegate: delegate) inquiry.start() XCPSetExecutionShouldContinueIndefinitely()

Si bien el enfoque anterior funciona, me resulta más fácil crear proyectos de prueba simples y tradicionales para tareas que requieren conceptos como código asíncrono, delegación, ...

Tengo el siguiente código en un patio de Xcode 6:

import Cocoa import IOBluetooth class BlueDelegate : IOBluetoothDeviceInquiryDelegate { func deviceInquiryComplete(sender: IOBluetoothDeviceInquiry, error: IOReturn, aborted: Bool) { aborted var devices = sender.foundDevices() for device : AnyObject in devices { if let thingy = device as? IOBluetoothDevice { thingy.getAddress() } } } } var inquiry = IOBluetoothDeviceInquiry(delegate: BlueDelegate()) inquiry.start()

Recién estoy empezando con Bluetooth bajo OSX, y todo lo que actualmente deseo es una lista de dispositivos dentro del alcance.

No parece estar llamando a mi método delegado en absoluto.

Soy nuevo en el desarrollo de OSX y Swift, así que sea gentil. :)