とりあえずガワだけ・・・。
起動直後に 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 とかサードパーティのツールがある模様