如何解决IOS 与 OSX BLE:实例化 CBCentralManager - 为 iOS 编码
我正在学习 iOS 与 OSX BLE。
我注意到我无法在 iOS 中实例化 CBCentralManager 因为:
[CoreBluetooth] xpc connection invalid
Unsupported
与通过 OSX 相比,因为 iOS 平台没有“应用沙盒”特性,我可以在其中设置为 BLE 使用。
这是我的 iOS 代码:
import SwiftUI
struct ContentView: View {
@Observedobject var bleManager = BLEManager()
var body: some View {
ZStack {
Color("Background")
Text("Hello")
}
}
}
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 条目:
我知道 iPhone 可以是 BLE 中心或外围设备。
简单问题:如何为真正的 iOS CBCentralMaster 编码?
我只是在这里采取一些小步骤:为外围检测编码。
...然后从那里继续。
解决方法
您是在模拟器上运行(不受支持)而不是在设备上运行?
,查看主要的 Core Bluetooth 文档:
如果它的 Info.plist 不包含它需要访问的数据类型的使用说明键,你的应用就会崩溃。要访问 iOS 13 或之后链接的应用程序上的核心蓝牙 API,请包含 NSBluetoothAlwaysUsageDescription 键。在 iOS 12 及更早版本中,包含 NSBluetoothPeripheralUsageDescription 以访问蓝牙外设数据。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。