Core Bluetooth 三歩目

とりあえずガワだけ・・・。

起動直後に Central Manager を初期化(起動?)する。そしておもむろに Peripheral を探しに行ってみるソースコード。

import UIKit
import CoreBluetooth

class ViewController: UIViewController {
    var blue: Bluetooth = Bluetooth()

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        blue.centralMagaer.scanForPeripherals(withServices: nil, options: nil)
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
}

class Bluetooth: NSObject, CBCentralManagerDelegate {
    var centralMagaer: CBCentralManager!
    override init() {
        super.init()
        centralMagaer = CBCentralManager(delegate: self, queue: nil)
    }

    func centralManagerDidUpdateState(_ central: CBCentralManager) {
        switch(central.state){
        case .poweredOff:
            print("Central State: Powered Off.")
            break
        case .poweredOn:
            print("Central State: Powered On.")
            break
        case .resetting:
            print("Central State: Resetting.")
            break
        case .unauthorized:
            print("Central State: Unauthorized.")
            break
        case .unknown:
            print("Central State: Unknown.")
            break
        case .unsupported:
            print("Central State: Unsupported.")
            break
    }
}

まあ、当然期待通りに動くわけもなく・・・

2017-07-28 00:49:23.001296+0900 BluetoothSample[2700:152246] [CoreBluetooth] API MISUSE: <CBCentralManager: 0x600000069880> can only accept this command while in the powered on state
Central State: Unsupported.

特に考えもせずに Peripheral を探しに行くものだから、1行目のエラー表示。電源入ってないとダメよエラー。

その後、2行目で centralDidManagerUpdate が呼ばれて、Unsupported 。

ま、ままま、まだだだ、慌てる時間じゃない・・・(AA略

というか、Powered On ステートにはどうすれば・・・エミュレータじゃ駄目とかかな、やっぱり・・・。

追記:

駄目だった・・・。

https://forums.developer.apple.com/thread/74567

純正の Bluetooth Explorer とかサードパーティのツールがある模様

http://qiita.com/shu223/items/46dabad41cf2eed67d13

フォローする