swift 3-ios: периферийное устройство Bluetooth

Я пытаюсь увидеть периферийные устройства через bluetooth, используя свой iphone

на самом деле я пишу этот код до сих пор

class BlueT: ViewController, CBCentralManagerDelegate, CBPeripheralDelegate{

var centralManager: CBCentralManager!
var peripheral: CBPeripheral!

let BEAN_NAME = "Az200"
let BEAN_SCRATCH_UUID =
CBUUID(string: "A159EA45-A794-27F4-8947-1C0A5E3C70B0")
let BEAN_SERVICE_UUID =
    CBUUID(string: "A159EA45-A794-27F4-8947-1C0A5E3C70B0")

 override func viewDidLoad() {
    super.viewDidLoad()
    centralManager = CBCentralManager(delegate: self, queue: nil)

}


func centralManagerDidUpdateState(_ central: CBCentralManager) {

    if #available(iOS 10.0, *){
        switch (central.state) {
        case CBManagerState.poweredOff:
            print("CBCentralManagerState.PoweredOff")
        case CBManagerState.unauthorized:
            print("CBCentralManagerState.Unauthorized")
            break
        case CBManagerState.unknown:
            print("CBCentralManagerState.Unknown")
            break
        case CBManagerState.poweredOn:
            print("CBCentralManagerState.PoweredOn")
            centralManager.scanForPeripherals(withServices: nil, options: nil)
        case CBManagerState.resetting:
            print("CBCentralManagerState.Resetting")
        case CBManagerState.unsupported:
            print("CBCentralManagerState.Unsupported")
            break
        }}else{
        switch central.state.rawValue{
        case 0:
            print("CBCentralManagerState.Unknown")
            break
        case 1:
            print("CBCentralManagerState.Resetting")
        case 2:
            print("CBCentralManagerState.Unsupported")
            break
        case 3:
            print("This app is not authorised to use Bluetooth low energy")
            break
        case 4:
            print("Bluetooth is currently powered off.")
        case 5:
            print("Bluetooth is currently powered on and available to use.")
            centralManager.scanForPeripherals(withServices: nil, options: nil)

        default:break
        }}}


func centralManager(
    central: CBCentralManager,
    didDiscoverPeripheral peripheral: CBPeripheral,
    advertisementData: [String : AnyObject],
    RSSI: NSNumber) {
    let device = (advertisementData as NSDictionary)
        .object(forKey: CBAdvertisementDataLocalNameKey)
        as? NSString

    if device?.contains(BEAN_NAME) == true {
        self.centralManager.stopScan()

        self.peripheral = peripheral
        self.peripheral.delegate = self
        print("peripheral: \(peripheral)")
               } }
}

так что на самом деле вывод «Bluetooth в настоящее время включен и доступен для использования». но печать («периферия: (периферия)») не появляется, так что я могу сделать, чтобы увидеть свои периферийные устройства?


person Anthony Shahine    schedule 17.10.2016    source источник
comment
У меня есть полный код для подключения BLE к iphone в цели c.   -  person Mohsin Sabasara    schedule 17.10.2016
comment
Взгляните на этот вопрос: stackoverflow.com/questions/35794107/ быстрые коммуникации/   -  person nbloqs    schedule 17.10.2016
comment
Периферийная реклама? Увидит ли его приложение LightBlue?   -  person Paulw11    schedule 17.10.2016
comment
да и на самом деле, настройка -> bluetooth, я увидел, что мой девайс уже подключен @Paulw11   -  person Anthony Shahine    schedule 17.10.2016
comment
как я могу проверить, работает ли эта функция? self.centralManager.scanForPeripherals(withServices: nil, options: nil) @Paulw11, а как вы думаете, почему мой код не может получить доступ к функции didDiscoverPeripheral ?   -  person Anthony Shahine    schedule 17.10.2016
comment
Откуда вы знаете, что функция делегата не вызывается? Вы установили точку останова? Скорее всего, ваш if не совпадает.   -  person Paulw11    schedule 17.10.2016
comment
я установил точку останова в let device = (advertis... но ничего не происходит, код не доходит до функции didDiscoverPeripheral, и я действительно не понимаю, почему @Paulw11   -  person Anthony Shahine    schedule 17.10.2016
comment
Я просто обнаружил, что функция в Swift 3 должна быть: func CentralManager(_ Central: CBCentralManager, didDiscoverпериферия: CBPeripheral, AdvertisingData: [String: Any], rssi RSSI: NSNumber) {//code}, в любом случае спасибо @Paulw11   -  person Anthony Shahine    schedule 17.10.2016