6

iOS Bluetooth を使用する場合は、次のようにコーディングします。

static NSString * const kServiceUUID = @"1802";
[self.manager scanForPeripheralsWithServices:@[ [CBUUID UUIDWithString:kServiceUUID] ] options:@{CBCentralManagerScanOptionAllowDuplicatesKey : @NO }];

なぜ応答がないのですか?メソッド scanForPeripheralsWithServices でさまざまな種類のパラメーター ペアを試しました。次の質問を確認しました: 利用可能な Bluetooth デバイスのリストを取得する方法は?

私のデバイスは、iOS 6 を搭載した iPod touch 5 (jailbroken) です。すでにいくつかの Bluetooth 4.0 デバイスをテストしています。誰でも理由を教えてもらえますか?

4

3 に答える 3

7

サービスでスキャンしてnil、探している周辺機器が実際に何かをアドバタイズしているかどうかを確認します。が呼び出されたらcentralManager:didDiscoverPeripheral:advertisementData:RSSI:、広告データをチェックアウトします。単にNSLog()それ。0x1802 が含まれていない場合、周辺機器はこのサービスをアドバタイズしていないため、スキャナはこの方法でサービスを見つけられません。これを修正するには、アドバタイズ セットアップにサービスを含めます。

NSDictionary *advData = 
 @{CBAdvertisementDataServiceUUIDsKey:@[[CBUUID UUIDWithString:@"1802"]]};
[peripheralManager startAdvertising:advData];
于 2013-08-19T21:28:43.060 に答える
1

何千回もありがとう、でもごめんね。次に、別の Bluetooth 4.0 LE デバイスでコードをテストしました。できます!これは、以前の Bluetooth 4.0 デバイスが LE バージョンではないことを意味します。彼らは私に間違ったことを言った!ありがとうございます。時間を無駄にして申し訳ありません。

于 2013-08-20T01:45:54.190 に答える