Как сканировать не LE устройства с помощью Swift? - PullRequest
0 голосов
/ 01 июля 2019

У меня есть 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;
        }
    }
}

Ответы [ 2 ]

2 голосов
/ 01 июля 2019

Это устройство утверждает, что сертифицировано MFi и использует профиль SPP, а не профиль BLE GATT.Это означает, что для связи с ним вам потребуется использовать платформу External Accessory Framework, а не Core Bluetooth.

Вам потребуется производитель, предоставивший iOS SDK для устройства.Если они это сделают, а вы хотите выпустить ваше приложение в App Store, то им также нужно будет одобрить ваше приложение и предоставить некоторые документы Apple.

Устройство сообщает, что оно также поддерживает профиль HID, так что, возможно, вымог просто рассматривать это как клавиатуру;Это не требует никакого кода, но не лучший пользовательский опыт.

0 голосов
/ 01 июля 2019

Вам необходимо использовать CoreNFC для чтения меток RFID. Нет необходимости использовать CoreBluetooth вообще.

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

...