Bluetooth Low Energyをサポートする新しいMac miniでiOSテストアプリケーションをいくつか試しています。これらでは CoreBluetooth フレームワークが使用されます。ただし、Xcodeの一部であるiPhoneシミュレーターでBluetoothを動作させることはできません。
新しい CBCentralManager を割り当てると、centralManagerDidUpdateState:は、Bluetoothの電源がオフになっているCBCentralManagerStatePoweredOff
を受け取ります。
テキストアプリケーションを初めて実行したときに、かなりバグのあるボックス(実際のテキストではなく言語変数のみが使用されている)と2つのボタンが表示されたボックスが開かれました。最初に、Bluetoothを有効にするオプションがある設定パネルに移動しました。ただし、Bluetoothを有効にするように指示すると、回転するアニメーションが表示されるだけで、完了もキャンセルもされません。 Macを再起動した後でも、回転するアニメーションのみが残っています。また、ボックスはもう開きません。
基本的に、iPhoneシミュレーターはBluetooth Low Energyをサポートする必要があると思います。それ以外の場合、シミュレータの設定アプリケーションにオプションがあることは実際には意味がありません。また、中央マネージャーの状態はCBCentralManagerStatePoweredOff
ですが、CBCentralManagerStateUnsupported
ではありません。プラットフォームはBluetooth Low Energyをサポートしていません。これにより、サポートが存在する可能性も期待できます。
Appleのこのアプリノートによると、シミュレータ サポートします Bluetooth Low Energy(4.0)。唯一の問題は、BLEを搭載したコンピューターを使用している場合でも、シミュレーターを一緒に使用できないことです。なぜなら、(他のデバイスがコンピューターを検出するためにBLEの可用性を占有するため、 Macの機能。
したがって、BLE USBドングルを手に入れたら、シミュレーターで使用できます。
編集:@JoeShawからの情報の追加:
残念ながら、iOS 7のシミュレータからCore Bluetoothサポートが削除されたように見えます。参照:doubleencore.com/2013/09/whats-new-in-bluetooth-le-ios-7。さらに、リンクされた技術情報は削除されたようです。
BLEアプリをテストするためにシミュレーターを使用していますが、OSX 10.7を使用する必要があります。ウィルヘルムセンが述べたように、BLE USBドングルも必要です。さらに、NVRAM設定を設定する必要があります。
$Sudo nvram bluetoothHostControllerSwitchBehavior="never"
シミュレータを使用してBLEアプリをテストする方法の詳細については、Appleのテクニカルノートを参照してください。 http://developer.Apple.com/library/ios/#technotes/tn2295/ _index.html
http://www.doubleencore.com/2013/09/whats-new-in-bluetooth-le-ios-7/ によると、iOSの時点でシミュレータからCore Bluetoothサポートが削除されました7.まだ理由はわかりませんが、将来的には実際のハードウェアでテストする必要があることを意味します。
また、AppleはTech Note 2295を削除しました。URLにアクセスするとリダイレクトされます。
Apple書き込み 自分のサンプル シミュレーターを使用してテストできないCore Bluetoothベースのアプリケーション。
重要:このプロジェクトにはBluetooth LE対応デバイス(現在はiPhone 4Sのみ)が必要であり、シミュレーターでは機能しません。
私は先週BLEアプリで作業してきましたが、自信を持って言えます、あなたが使用しているMacにBLE(Macbook Air)がなければシミュレーターはBLEをサポートしていません-それでも私は100%確信が持てませんこれを有効にする方法(ほとんどの場合、MacとシミュレーターでBLEを試してみてください)。
BLE対応のMacをお持ちでない場合、テストを行うには4秒かかります。
実際、私はシミュレーターで試してみましたが、動作しません。シミュレーターは、コンピューターにBluetooth 4.0があるかどうかを認識しませんが、Xcodeでコマンドラインツールプロジェクトを使用している場合は動作します。コマンドラインツールで何かを作成したい場合にのみ。