2

警告: プライベート フレームワークが App Store に掲載されないことはわかっています。

BluetoothManager フレームワークを使用して、1) デバイスで Bluetooth が有効になっているかどうかを確認し、2) 有効になっていない場合は有効にしようとしています。

ここにある手順に従って BluetoothManager を正常に読み込むことができますが、いったん読み込むと、BluetoothManager は何もしないようです。

Bluetooth が有効になっている場合でも、通話を有効にすると常に NO が返されます。setEnabled を呼び出しても、その状態は変わりません。私が試した他のすべての BluetoothManager 呼び出しは、常に NO、nil、ゼロ要素配列などを返します。要するに、返される BluetoothManager は完全に中和されているようです。(シミュレーターではなく、4.2.1 iPhone で実行しています。)

これが機能したと主張する人々からの投稿を見たことがありますが、彼らからの応答を得ることができませんでした. これが機能しない理由を誰かが明らかにすることはできますか?

どうもありがとう。

4

3 に答える 3

3

BluetoothManager が起動して BTServer に接続するまでに 1 秒かかります。共有インスタンスをすばやく呼び出して、[BluetoothManager sharedInstance];強制的に初期化しました。init が完了すると、BluetoothAvailabilityChangedNotificationが投稿されます。それを聞いて[[BluetoothManager sharedInstance] setEnabled:YES];、通知コールバックを試してみます。

参考までに、 BluetoothAvailabilityChangedNotificationの NSNotification に含まれるオブジェクトはブール値であるため、Bluetooth が実際に使用可能であることを確認できるはずです。

于 2011-12-08T21:02:42.000 に答える
1

それはIPCのせいです。BluetoothManagerはsendMsgetelを介して通信します。たとえば、NSTimerを使用してBluetoothManager sharedInstanceにクエリを実行し、プログラムがメッセージを受信して​​処理する時間を確保します。

于 2011-03-11T18:47:11.643 に答える
1

Githubには、プライベート フレームワーク BluetoothManager のデモ用にBeeTeeというデモ プロジェクトがあります。

于 2014-03-23T10:48:04.760 に答える