我们正在为iPad(iOS)开发新的应用程序。新的App需要访问Buletooth设备。我们希望使用CoreBluetooth框架来实现它。但是,CBCentralManager实例的状态始终不受支持。为什么?怎么解决?
我们在MaxBook Pro OS X EI Captan V10.11.4上开发应用程序。 Xcode的版本是V7.3.1。
以下是代码。
class BluetoothService: NSObject, CBCentralManagerDelegate
{
var centralMgr: CBCentralManager?
func initializeCenral(){
centralMgr = CBCentralManager(delegate: self, queue: nil)
}
@objc func centralManagerDidUpdateState(central: CBCentralManager){
switch central.state{
case CBCentralManagerState.PowerOff:
print("Power Off")
case CBCentralManagerState.PowerOn:
print("Power On")
case CBCentralManagerState.Resetting:
print("Resetting")
case CBCentralManagerState.Unsupported:
print("Unsupported") // always at this state
default: break
}
}
//...
}//#
< ==我为Command Line工具创建了一个新项目,让它在本地MacBook上运行相同的代码。在这种情况下,CBCentralManager的状态变为PowerOn。这意味着CoreBluetooth无法在任何模拟器上运行。