3

iOS 5 では、CoreBluetooth が Bluetooth が無効になっているかどうかを確認する機能を提供していることを確認しました。私がドキュメンテーションで見たものから、それは明らかに Bluetooth 周辺機器の使用を目的としています。GKPeerPickerControllerただし、 Bluetooth 接続が有効になっていない場合に無限に検索するGameKit () を使用しているため、Bluetooth がオンになっているかどうかを確認しようとしていますが、これは問題です。

私はこれを次のようにしようとしました:

CBCentralManager * manager = [[CBCentralManager alloc] init];

if (manager.state == CBCentralManagerStatePoweredOn ) {

      //go ahead with GameKit
}

これは機能せず、manager.state常に null に等しくなります。ここで何が間違っていますか?または、iPhone の Bluetooth の状態を確認するためのより良い方法はありますか?

編集: このアプリをアプリ ストアに送信するため、プライベート API を呼び出したくありません。これを明確にするために、質問のタイトルを編集しました。

4

2 に答える 2

5

わかりました、私はこれを行うことでそれを発見しました:

NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:FALSE], CBCentralManagerScanOptionAllowDuplicatesKey, nil];
NSMutableArray * discoveredPeripherals = [NSMutableArray new];
CBCentralManager * manager = [[CBCentralManager alloc] initWithDelegate:self queue:nil];
[manager scanForPeripheralsWithServices:discoveredPeripherals options:options];
[manager stopScan];

Bluetooth がオフの場合、システムはアラート ビューをポップアップ表示し、Bluetooth をオンにする選択肢を提供します。それ以外の場合、周辺機器が見つかった場合は、対応するデリゲート メソッドが呼び出されますが、その実装に何もない場合は、心配する必要はありません。

于 2012-07-18T21:46:07.840 に答える
0

あなたはこのリンクであなたの質問の答えを見つけることができます。見てみな。

編集済み

ゲームキットフレームワークリファレンスをチェックしましたか?

Appleによると:

ゲームキットは、2つのデバイス間にBluetooth接続を作成する機能をアプリケーションに提供します。

編集済み

次に、このプロジェクトを試してください。https://github.com/sergiomtzlosa/MultiContactsSelector-ios

于 2012-07-18T05:50:24.990 に答える