首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >IOS与OSX :实例化CBCentralManager - iOS编码

IOS与OSX :实例化CBCentralManager - iOS编码
EN

Stack Overflow用户
提问于 2021-04-06 16:18:57
回答 2查看 118关注 0票数 1

我正在学习iOS对OSX。

我注意到无法在CBCentralManager中实例化iOS,因为:

代码语言:javascript
运行
复制
[CoreBluetooth] XPC connection invalid
Unsupported

相对于通过OSX,因为iOS平台没有'App‘的特点,我可以设置为BLE使用。

这是我的iOS代码:

代码语言:javascript
运行
复制
import SwiftUI

struct ContentView: View {
    @ObservedObject var bleManager = BLEManager()

    var body: some View {
        ZStack {
            Color("Background")
            Text("Hello")
        }
    }
}
代码语言:javascript
运行
复制
class BLEManager: NSObject, ObservableObject, CBCentralManagerDelegate {
    var centralManager: CBCentralManager!

    override init() {
        super.init()
        centralManager = CBCentralManager(delegate: self, queue: nil)
    }

    public func centralManagerDidUpdateState(_ central: CBCentralManager) {
        switch central.state {
        case .poweredOn:
            print("power is on")

        case .resetting:
            print("Resetting")
        case .unsupported:
            print("Unsupported")
        case .unauthorized:
            print("UnAuthorized")
        case .unknown:
            print("UnKnown")
        case .poweredOff:
            print("Powered OFF")
        @unknown default:
            print("**** Default ****")
        }
    }
}

以下是所需的.plist条目:

我知道iPhones既可以是一个BLE中心,也可以是一个外围设备。

简单问题:,如何为iOS编写真正的CBCentralMaster?

我只是在这里迈出一小步:外围检测的编码。

..。那就从那里继续。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-04-06 20:16:24

您是在模拟器(不支持的地方)上运行,而不是在设备上运行吗?

票数 1
EN

Stack Overflow用户

发布于 2021-04-06 16:21:32

请参阅主要的核心蓝牙文档:

如果应用程序的Info.plist不包括它需要访问的数据类型的使用说明键,它就会崩溃。要在iOS 13上或之后链接的应用程序上访问核心蓝牙API,请包括NSBluetoothAlwaysUsageDescription键。在iOS 12和更早版本中,包括用于访问蓝牙外围数据的NSBluetoothPeripheralUsageDescription。

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

https://stackoverflow.com/questions/66972518

复制
相关文章

相似问题

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