我有RFID读取器,它不是 LE设备。
https://www.tsl.com/products/1153-bluetooth-wearable-uhf-rfid-reader
我试图编写一个iOS应用程序,扫描此设备并使用快速的CoreBluetooth库连接它,但我的应用程序找到了除此设备以外的所有内容。如何扫描此阅读器?
import UIKit
import CoreBluetooth
class ViewController: UIViewController, CBCentralManagerDelegate {
var manager: CBCentralManager!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
manager = CBCentralManager(delegate: self, queue: nil)
}
func centralManager(_ central: CBCentralManager, didDiscover peripheral: CBPeripheral, advertisementData: [String : Any], rssi RSSI: NSNumber) {
print(peripheral)
}
func centralManagerDidUpdateState(_ central: CBCentralManager) {
switch central.state {
case .unknown:
break;
case .poweredOff:
break;
case .poweredOn:
manager.scanForPeripherals(withServices: nil)
break;
case .resetting:
break;
case .unauthorized:
break;
case .unsupported:
break;
default:
break;
}
}
}
答案 0 :(得分:2)
该设备声明已通过MFi认证,并使用SPP配置文件,而不是BLE GATT配置文件。这意味着您将需要使用外部附件框架而不是Core Bluetooth与之通信。
您需要制造商为设备提供iOS SDK。如果他们这样做,并且您想在App Store上发布您的应用程序,那么他们还需要批准您的应用程序并向Apple提供一些书面文件。
设备说它也支持HID配置文件,因此也许您可以将其当作键盘来对待。这不需要任何代码,但不是最佳的用户体验。
答案 1 :(得分:-1)
您需要使用CoreNFC读取RFID标签。完全不需要使用CoreBluetooth。