2017-07-12 12 views
0

iBeaconsを使用するiOSアプリケーションを開発中です。 入力イベントが発生したとき(iPhoneが特定のUUIDを持つiBeaconを検出したとき)、アプリがバックグラウンドまで起動することがあることを理解します。 これを使ってビーコン信号を自分で送り返すことはできますか? (電話がロックされている間はすべて)iOS iBeaconに反応し、自分のiBeacon信号を送信してイベントを入力します。

私のアプリはenterイベントで目覚めた後、バックグラウンドで数秒しかないことは知っていますが、通常これはビーコン信号を送信するのに十分な時間です。

ご協力いただきまして誠にありがとうございます。前もって感謝します。

答えて

0

残念ながら、iOSデバイスは、バックグラウンドで標準のiBeacon送信を送信できません。。そうするためにコードを実行することができ、iOSが送信すると、バックグラウンド送信は他のデバイスによってiBeaconsとして検出されません。

なぜですか? CoreBluetoothは独自の技術を使用して、バックグラウンドアプリケーションのすべてのBluetooth広告を1つの広告にロールアップします。これは、広告Gattサービスで動作するように設計されており、iBeacon形式を破る副作用があります。

+0

答えに感謝します。 あなたの回答から、iBeacon形式ではなくても、Bluetooth経由で何かを送信することができると私は理解しています。これは、とにかくそのメッセージを検出できることを意味します。 – Philipp

+0

はい、CoreBluetoothを使用してそのメッセージを検出できます。しかし、私はそれが非常に便利だとは思わない、別の電話から来るものとしてそれを識別するために使用することができる情報を含んでいないので。私の答えはこちらを参照してください:https://stackoverflow.com/a/34225768/1461050 – davidgyoung

+0

実際に私はラズベリーパイとの電話からの答えを検出することを計画していました。だから、いくつかの識別子を含んだメッセージを送り返し、何らかの種類のペイロードを送り返すことが可能になり、Piでそれを理解できますか? (例:「1234567890 - 「理解しました」) これは電話機がポケットに留まっている間は不可能だと思うので、電話機とラズベリーを実際に接続する必要があります。もしそれが間違っていたり、これを達成する方法が分かっていれば私を修正してください。ありがとうございました – Philipp

関連する問題