MacでのBluetoothホストコントロールデバイスの優先順位の変更
毎回ググるのでメモ。
OSX は USBのドングルとかBluetoothホストコントローラとかをつけたときの挙動を、ファームウェアの NVRAM ってところに bluetoothHostControllerSwitchBehavior
というキーで値を設定してあげることによって以下の3種類のうちから決めることができる。
never
: 外付けのホストコントローラにスイッチせず、つねにビルドインコントローラを使うalways
: ビルドインコントローラからdetachして外付けのホストコントローラにスイッチするdefault
: 外付けホストコントローラがApple以外のときはビルドインからdetachして外付けデバイスを使う
デフォルトはもちろん default
。
で、 BT4LE に対応したドングルを持っていれば、BT4積んでない昔の MacBook なんかでも CoreBluetooth つかったり開発したりできる。
さらに、あえてここで never
を設定して外付けのホストコントローラを使わない設定にすると、 余っている外付けホストコントローラを iOS Simulator から利用することができる。
この設定を変えるには nvram
ってコマンドを使う:
$ sudo nvram bluetoothHostControllerSwitchBehavior="never"
とかでOK。
詳しくは
Technical Note TN2295: Testing Core Bluetooth Applications in the iOS Simulator
参照。