在这里,我们正在尝试从J1939 SAE总线设备读取数据,但似乎无法在iOS上读取,我们正在使用actuator_activity
连接,我们已经在android中完成了工作,并且在android中工作正常,但是同一设备未通过iOS可以读取任何人都可以帮助我。
我在这里附上我的代码段
将Core bluetooth
设备连接为SEA J1939
Bluetooth
蓝牙连接成功
var manager:CBCentralManager!
manager.connect(connectPeripheral, options: nil)
connectPeripheral.delegate = self
从设备读取数据
func centralManager(_ central: CBCentralManager, didConnect peripheral: CBPeripheral) {
print("Connected!")
self.showAlertOneButton(withTitle: "", with: key.KBluetoothConnect, firstButton: key.KOk) { (UIAlertAction) in
self.navigationItem.rightBarButtonItem?.tintColor = UIColor.blue
self.vwBLTSub.removeFromSuperview()
//all services
self.connectPeripheral.discoverServices(nil)
}
}
答案 0 :(得分:0)
iOS设备上的常规操作系统会阻止应用程序访问USB和蓝牙服务,但Apple明确记录为白名单的设备或已加入Apple MFI程序(在NDA下)的设备除外。
我使用的解决方案是使用Raspberry Pi将其连接到非Apple允许的USB和蓝牙配置文件设备,然后通过网络套接字(通过WiFi或有线以太网)将Pi的数据提供给iOS设备Apple通过各种加密狗在iOS上提供支持),或使用Core Bluetooth BLE(已列入白名单,但速度较慢)。