如何使用Swift扫描非设备



我有RFID读取器,不是 le设备。

https://www.tsl.com/products/1153-bluetooth-wearable-uhf-rfid-reader

我正在尝试编写iOS应用程序,扫描此设备并使用Swift 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;
        }
    }
}

该设备已通过MFI认证并使用SPP配置文件而不是BLE GATT配置文件。这意味着您需要使用外部附件框架,而不是核心蓝牙进行通信。

您需要为该设备提供iOS SDK的制造商。如果他们这样做,并且您想在应用商店中发布您的应用程序,那么他们还需要批准您的应用程序并向Apple提供一些文书工作。

该设备说它也支持HID配置文件,因此也许您可以将其视为键盘。这不需要任何代码,但不是最好的用户体验。

您需要使用corenfc读取RFID标签。根本不需要使用corebluetooth。

https://developer.apple.com/documentation/corenfc

最新更新