6

私は現在、Bluetooth 4.0 を使用してデバイスをアドバタイズしてスキャンする必要があるバックグラウンドで実行されている iOS アプリに取り組んでいます。

Corebluetooth.framework について学習しているうちに、iOS 開発者が周辺機器に 2 種類の広告データを設定できることがわかりました。

  1. デバイスのローカル名。
  2. サービス UUID。

周辺機器がバックグラウンドで実行されているかどうかはわかりましたが、ローカル名はアドバタイズされません。さらに、サービス UUID は、中央デバイスがアクティブ スキャンを使用してのみ取得できるオーバーフロー エリアに設定されます。ただし、アクティブなスキャンはフォアグラウンドでのみ実行できます。

この時点で質問があります。

中央デバイスと周辺デバイスの両方がバックグラウンドで実行されている場合、中央デバイスは、周辺デバイスによってオーバーフロー領域に設定されたサービス UUID を取得できますか? 両方の iOS アプリケーションがバックグラウンドで実行されている場合、各アプリがバックグラウンドで相互に広告とスキャンを行うアプリを開発することは可能ですか?

4

1 に答える 1

3

バックグラウンド化された周辺機器は、あなたが説明する理由により、バックグラウンド化されたセントラルでは正確に見つかりません。

  1. 周辺機器はサービスをアドバタイズしません
  2. セントラルはサービス フィルタリングでのみスキャンできます (バックグラウンド中)。

これは iOS 6 の問題であり、今まで iOS 7 でもできる人を見たことがありません。(さらなるテストが進行中です。)

于 2013-10-16T07:40:38.553 に答える