web-dev-qa-db-ja.com

iOS7デバイスはiBeaconとして機能できますか?

IOS7デバイスはiBeaconとして機能し、他のiOS7デバイスがいつその範囲に入るのかを把握できますか?これらの他のiOS7デバイスではBluetoothをオンにする必要がありますか?

15
Andrei

BluetoothLEを搭載したiOSデバイスはiBeaconとして機能できます。

AirLocateのサンプルコードをチェックしてください https://developer.Apple.com/downloads/index.action?name=WWDC%202013#

IBeaconであることは、範囲内に入るデバイスに関するフィードバックを提供しないため、自分で実装する必要があります。つまり、iBeaconを検出するデバイスを用意してから、他の方法でiBeaconを見たことをiBeaconに伝える必要があります。

17
Mike Pollard

はい、iOSデバイスはiPhone 4s以降(Bluetooth 4.0が必要)からビーコンとして機能できます。

辞書を [CLBeaconRegion peripheralDataWithMeasuredPower:] から [CBPeripheralManager startAdvertising:] に渡してビーコンを公開します。

ビーコンを公開しても、デバイスに関するフィードバックは提供されません。ビーコンを公開している他のユーザーをスキャンする必要があります。

バックグラウンドに関しては、バックグラウンドでビーコンを公開することはできません。そのためには、アプリをフォアグラウンドで実行する必要があります。バックグラウンドでスキャンが可能です。

7
Joris Kluivers

はい、iOS7デバイスはiBeaconとして機能できます。すべての電話にアプリがインストールされていて、Webサービスも作成している場合は、提案されているとおりに実行できます。これにより、電話Aは電話BとCが近くにあるときにそれらを見ることができます。

  1. 電話Aのアプリは、その存在を宣伝するiBeaconとして機能します。
  2. 電話BとCはこのiBeaconを認識し、アプリを起動してWebサービスに電話をかけ、両方が電話Aの送信を確認したことを報告します。
  3. 電話Aのアプリは、このWebサービスにクエリを実行し、電話Aを表示する電話のリストを返します。この例では、リストに電話BとCが含まれています。アプリはこのリストで表示を更新します。

すべてのスマートフォンでBluetooth LEが必要であり、Bluetooth LEがオンになっていて、アプリがインストールされています。また、Webサービスを呼び出すにはインターネット接続が必要です。

3
davidgyoung

IBeaconsを使用するように設定されていない場合、このプロジェクトはBluetooth LEを使用して、近くの電話間でIDの配列を共有します SimpleShare

各電話のユーザーのIDを設定し、SimpleShareプロジェクトを使用して(バックグラウンドモードでも)Bluetooth LEを介して電話間で共有し、Webサービスにクエリを実行してそのIDのユーザーに関する詳細情報を見つけることができます。

1
Laura

以前の回答から明確に出てこなかった1つのポイントは、公開が機能するためには(たとえば、Davidの回答の電話Aで)、公開を開始したアプリケーションがフォアグラウンドにある必要があるということです。

Apple ドキュメント から:

アプリがバックグラウンドにある間、ローカル名はアドバタイズされず、すべてのサービスUUIDがオーバーフロー領域に配置されます。

0

前述のように、iOS 7デバイスは、Bluetooth LEテクノロジーである限り、iBeaconとして機能できます

IBeaconを使用するには、iOS 7以降、Bluetoothがオンになっていて、互換性のあるiOSデバイスが必要です。

  • iPhone4s以降
  • iPad(第3世代)以降
  • iPadmini以降
  • iPod touch(第5世代)以降。

http://support.Apple.com/kb/HT6048

0
brontus