我正在学习iOS对OSX。
我注意到无法在CBCentralManager中实例化iOS,因为:
[CoreBluetooth] XPC connection invalid
Unsupported
相对于通过OSX,因为iOS平台没有'App‘的特点,我可以设置为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条目:
我知道iPhones既可以是一个BLE中心,也可以是一个外围设备。
简单问题:,如何为iOS编写真正的CBCentralMaster?
我只是在这里迈出一小步:外围检测的编码。
..。那就从那里继续。
发布于 2021-04-06 20:16:24
您是在模拟器(不支持的地方)上运行,而不是在设备上运行吗?
发布于 2021-04-06 16:21:32
请参阅主要的核心蓝牙文档:
如果应用程序的Info.plist不包括它需要访问的数据类型的使用说明键,它就会崩溃。要在iOS 13上或之后链接的应用程序上访问核心蓝牙API,请包括NSBluetoothAlwaysUsageDescription键。在iOS 12和更早版本中,包括用于访问蓝牙外围数据的NSBluetoothPeripheralUsageDescription。
https://stackoverflow.com/questions/66972518
复制相似问题