首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >CBCentralManager状态总是关闭的

CBCentralManager状态总是关闭的
EN

Stack Overflow用户
提问于 2014-11-05 18:11:14
回答 1查看 1.8K关注 0票数 3

当我运行我的代码并在我的MacbookPro上打开/关闭蓝牙时,状态总是4,它对应于PoweredOff状态。

代码语言:javascript
运行
复制
import Cocoa
import CoreBluetooth

@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate, CBCentralManagerDelegate {

    var centralManager = CBCentralManager()

    func applicationDidFinishLaunching(aNotification: NSNotification) {
        centralManager = CBCentralManager(delegate: self, queue: nil)
    }

    func centralManagerDidUpdateState(central: CBCentralManager!) {

        switch central.state {

            case .PoweredOn:
                println(".PoweredOn")

            case .PoweredOff:
                println(".PoweredOff")

            case .Resetting:
                println(".Resetting")

            case .Unauthorized:
                println(".Unauthorized")

            case .Unknown:
                println(".Unknown")

            case .Unsupported:
                println(".Unsupported")
        }
    }
}

我知道蓝牙实际上是开着的,因为我已经能把它和我的手机配对了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-05 18:28:17

回答我自己的问题。

事实证明,CoreBluetooth只适用于蓝牙4.0:

核心蓝牙框架是蓝牙4.0规范(来源)的抽象

要了解mac的蓝牙规范是什么:

 > About This Mac > More Info... > System Report... > Hardware > Bluetooth

寻找LMP Version

代码语言:javascript
运行
复制
0x4 = Bluetooth Core Specification 2.1 + EDR
0x6 = Bluetooth Core Specification 4.0

我有LMP版本4,所以我想CoreBluetooth不会为我工作。

有趣的是,开关语句并没有给我提供.Unsupported的情况。

编辑:

在用蓝牙4在较新的mac上测试了完全相同的代码之后,状态变成了.PoweredOn

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26764147

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档