iPhone使いでもあるMacユーザがプラットフォーム選択の正解を確信する瞬間は、"作業の連携がスムーズに進んだとき"に違いない。iPhoneで撮影した写真を直接Macへワイヤレス転送する「AirDrop」、アプリの作業内容をそのまま引き継ぐ「HandOff」はMacとiOSのコンビネーションならでは、これに馴染むと他の組み合わせはなかなか使う気にならない。

我が家にはMacBook Pro 13インチ(Mid 2010)がいまだ現役、妻子用マシンとして稼働中だが、内蔵HDDをSSDに換装しOSをYosemiteに更新してから筆者はほぼノータッチ。家族との写真のやり取りはiPhoneで足りてしまうため、特に不便を感じていなかったが、筆者のiPhoneから妻子用Macへファイルを送信しようとして絶句した。AirDropが使えないのだ。

そう、一方的にファイルを送信できる仕様のAirDropにはBluetooth LE(BLE)が必須要素。妻子用マシンはBLE対応以前のMacであり、Mac間のAirDropしかサポートされない。同様にHandOffとInstant Hot Spotも、近隣にMac/iOSデバイスがあることをBLEで検知するため利用できない。

しかし、世にはBLE対応のUSBドングルが多数存在する。価格も手ごろで、量販店での実売価格は1,000円を下回るほど。Macに内蔵のBluetoothチップを無効化し、通信に使うBluetoothホストをUSBドングルのものに切り替えることができれば、旧型MacでもAirDrop/HandOffは不可能ではないはずだ。幸い、手もとには「IO-DATA USB-BT40ELE」というBLE対応USBドングルがある。

Bluetoothホストの変更は、システム環境設定などOS標準の管理ツールでは対応しないが、Xcodeに含まれる「Bluetooth Explorer」を使えば利用できる。メニューから「Tools」→「Host Controller Selector」を実行すると、選択肢にUSBドングルのものと覚しきBroadcom製チップが現れたが、その後なにも起こることはなかった。AirDropもHandOffも、この方法では有効化できない。

BLuetooth LEに対応したUSBドングルを用意すれば、旧型MacでAirDropでHandOffが使えるようになるかも(写真は「IO-DATA USB-BT40ELE」)

「Bluetooth Explorer」でホストを切り替えてみたが、AirDropやHandOffには影響がなかった

本件はしばらく放置していたが、再び妻子用Macと写真をやり取りせねばならぬ案件が浮上したため、AirDrop/HandOff対応に本気で取り組むことを決意した。そしていろいろ探っていると、「Continuity Activation Tool」なるツールを発見。これはひょっとして、ひょっとするかもしれない。

Continuity Activation Toolは、Bluetoothホストの変更や関連するKEXTにパッチを当てる作業を自動化するユーティリティだ。/System/Library以下の内容を改変するため、El CapitanではリカバリーモードのTerminalで「csrutil disable」を実行し、System Integrity Protectionを無効化しておこう。

KEXTを改変するということもあり、バンドル内部を探ったところ「contitool.sh」というシェルスクリプトを発見。内容を確認すると1,700行にもおよぶ長大なもので、さまざまなWi-Fi/Bluetooth関連のKEXTにパッチを当てるなどの処理を行っている。斜め読みしたかぎりでは、Macの機種IDやBluetoothチップ、Wi-Fiチップをチェックし、対処方法を変えているようだ。

動作可能なBluetoothドングルだが、Macと同じBroadcom社製チップを搭載した製品が確実だ。筆者の場合、手もとにあったUSB-BT40ELEという製品がたまたま条件に一致したが、これから購入する場合は事前にチェックしておこう。Continuity Activation ToolのWEBサイトには互換性情報が掲載されているので、自分のMacが動作するかどうかあらかじめ確認できる。

Continuity Activation Toolを実行すると、前述したシェルスクリプトにより互換性がチェックされたあと、改変前のKEXTをバックアップするかどうかといった質問がいくつか行われる。最後に、適当なキーを押してシステムを再起動すれば、めでたく(iOSデバイスとやり取りできる)AirDropとHandOffが利用できるようになるはずだ。

Continuity Activation Toolを起動し、オプション「1」を選択すると、本体外のBluetoothチップ(USBドングル)を有効化する一連の処理が始まる

基本的には画面の指示どおりに進めていけばOK。システム再起動後には、AirDropやHandOffが使えるようになるはず

Continuity Activation Tool実行前(左)と実行後(右)のシステム情報。「HandOff対応」に注目してほしい

導入後の様子だが、BLE対応チップ搭載のMacとほぼ遜色ないと言っていい。あくまで筆者宅の組み合わせ(MacBook Pro 13インチ Mid 2010/IO-DATA USB-BT40ELE/OS X Yosemite)に限った話だが、デバイスの検出はスムーズで、AirDropの送信先候補もすぐに現れる。家族も早速、iPhoneで撮影した写真の転送に活用している。HandOffについては、いまひとつその利便性を理解していないようだが、こればかりは慣れてもらうしかなさそうだ。

このようにUSBポート1基を占有してしまうが、屋外に持ち出すことがないので、AirDropとHandOffを使えるほうがありがたいはず