問題タブ [ios-bluetooth]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 接続直後にiOS BLEが切断され、デバイスを再起動するだけで解決します
私のアプリは BLE (Bluetooth 4) を使用して物理的な周辺機器に接続しています。私のユーザーと私は、ある時点でアプリが周辺機器への接続を停止するというバグに繰り返し遭遇しました.BLE周辺機器が検出され、接続が確立されたという兆候を見ることができますが、数秒後に接続が切断されます. .
iDeviceを再起動した後にのみ、物事は正常に戻ります。
これは iOS のバグに違いないという結論に達するまで、非常に長い時間をかけてこの問題を調査し、徹底的に調査しました (7.1 でテストしましたが、8.0 でも発生する可能性があります)。
私のテストと調査結果:
- iDevice をサポートするすべての BLE で発生します。
- 自分の BLE 周辺機器と他のサード パーティの BLE 製品の両方で発生し、どちらも正常に動作することが知られています。
- 50 回の起動でもうまく機能することもありますが、最終的には失敗します。
- ネットワークと工場出荷時の設定にリセットしても解決しませんでした。
- さまざまなアプリケーションでテストおよび発生しました: ##
- 私自身のアプリ。
- 周辺機器のみをスキャンし、最初で唯一発見された周辺機器に接続しようとしている新しい Xcode プロジェクトをクリーンアップします。
- Apple の BLE サンプル アプリ:健康温度計(この特定の周辺機器を持っていないため、関連する変更を加えたもの)。
- 一般的なLightBlueを含むサードパーティのアプリ。
- 重要な注意:上記のオプションはすべて、しばらくの間 (複数回の起動) 完全に機能しましたが、ある時点で突然停止し、デバイスの再起動後に再び機能しました。
- 周辺機器のサービスを検出しようとすると、接続手順が失敗するようです。つまり、正常に検出されて接続されますが、サービスの検出を開始すると、応答が停止します (didDiscoverServices が呼び出されません)。
- もちろん、オンラインで見つかった多くのアプローチを試してみましたが、うまくいきませんでした。
誰でもこの問題に光を当てることができますか?
- それは既知の問題ですか?
- 最近の iOS アップデートで修正されましたか?
- 修正される予定はありますか?
製品には BLE 接続が不可欠であるため、このような問題がユーザー エクスペリエンスに及ぼす悪影響は想像に難くありません。
解決方法についてアドバイスや提案をいただければ幸いです。
ありがとう!
アップデート:
Apple は、私の技術サポート リクエストに次のように答えました。
ボトムライン):
- 彼らは、iOS 8 でいくつかの BLE 関連のバグを修正したと述べ、iOS 8 でまだ発生するかどうかをテストするよう促しました。
- 彼らはそれから始めて、そうでない場合は、彼らが提供するユーティリティアプリで問題を診断してみてください.
これまでのところ、iOS 8 では発生しませんでしたが、一方で、他の Bluetooth の問題に関する投稿を見ることができます。これらは必ずしも関連しているわけではありませんが、誰が知っているのでしょうか。
完全な答え:
あなたとあなたの顧客が、ある時点で iOS BLE が接続を維持できないことに気付いたというあなたの発見に応えています。問題が iOS 7.1 で確認されたことを示しています。iOS BLE に関する問題が報告されており、iOS 8.0 で修正されています。問題が解決されたかどうかを判断する最も簡単な方法は、iOS 8 をインストールして、問題が再現されるかどうかを確認することです。ただし、iOS 7.1 を搭載したデバイスで問題を再現できると報告しているため、最初に Bluetooth サーバー プロファイルを取得し、デバイスにインストールして問題を再現し、問題が発生したときに BLE サーバー ログを取得します。プロファイルには、サーバーが遭遇した問題を報告するのに役立つ追加のログの詳細が報告される BLE サーバーが含まれます。問題が以前に報告されたものであるかどうかを確認できます。考慮すべきことは、すべての新しいバグ レポートの問題について、Core Bluetooth エンジニアリングが、現在出荷されている iOS のバージョン (8.0) ですべての問題を改善するよう要求していることです。iOS 7.x を使用しているお客様の場合、iOS 7 の更新はなくなります。すべてのソフトウェア修正とバグ修正は iOS 8 で行われます。このため、iOS 8 で報告された問題のみが調査されます。BLE サーバー プロファイルは、Apple Developer バグ レポート Web ページから入手できます。iOS 7 の更新はなくなります。すべてのソフトウェア修正とバグ修正は iOS 8 で行われます。このため、iOS 8 で報告された問題のみが調査されます。BLE サーバー プロファイルは、Apple Developer バグ レポート Web ページから入手できます。iOS 7 の更新はなくなります。すべてのソフトウェア修正とバグ修正は iOS 8 で行われます。このため、iOS 8 で報告された問題のみが調査されます。BLE サーバー プロファイルは、Apple Developer バグ レポート Web ページから入手できます。https://developer.apple.com/bug-reporting/ios/bluetooth/ . プロファイルをインストールしてログを取得する手順は、Web ページに記載されています。iOS 7.x でログをキャプチャした場合は、レビューのために送信できます。iOS で問題が解決するかどうか、または問題が解決しないかどうかを知るには、問題が iOS 8 で発生するかどうかを確認する必要があります。 8、以前のバージョンに復元することはできません。結果をご確認いただければ幸いです。ただし、iOS 8 でも問題が解決しない場合は、バグ レポートを送信して、この問題についてコア Bluetooth エンジニアリングの注意を引くことをお勧めします。Apple Developer バグ レポート Web ページを使用して、バグ レポートを送信できます。- http://bugreport.apple.com
ios - iOS 8 でバックグラウンドから Bluetooth 周辺機器に接続できない
フォアグラウンドで、周辺機器との接続とペアリングに成功しました。しかし、バックグラウンドから接続しようとすると、周辺機器が接続されてからすぐに切断され、次のエラーが表示されます。
周辺機器は既にペアリングされており、アプリケーションがフォアグラウンドの場合はそのようなことは起こらないため、奇妙に思えます。
これは iOS 8 でのみ発生します。iOS 7 では、同じコードがバックグラウンド モードとフォアグラウンド モードの両方で正常に動作します。
ios - 0x004c Apple Company Identifier を使用せずに、IOS でビーコン広告を取得することは可能です
iBeacon からデータを取得するために Android アプリを開発しました。生データを取得できたので問題ありませんでしたが、IOS ではそれは不可能であり、パケットを受信することが不可能であるかのように見えます。広告に Apple Company Identifier 0x004c を含めないでください。他の企業識別子を使用して広告を出すデバイスから広告を受信することは可能ですか? 可能であれば、会社識別コードを受け取ることは可能でしょうか? Apple から提供されたドキュメントやいくつかのフォーラムで検索しても、何も見つかりませんでした。
どんなアイデアでも大歓迎です。
スニファは次のものをキャプチャします。
Nordic Semiconductorsの企業識別子:
Apple の企業識別子:
よろしく
イヴァン
ios7 - BLE デバイスで利用可能な任意のシミュレーター
利用可能なBLEシミュレータはありますか? それとは別に、iPhoneがすでにiOSとペアリングされている場合、BLEデバイスからiOSにコマンドを送信し、iOSアプリを起動する方法も知りたいです
前もって感謝します :)
ios - バッテリーを抜いた後、BLE デバイスに再接続します
ペアリングするアプリを作成している BLE デバイスがあります。問題なくデバイスを検出して接続できます。しかし、接続されているときに BLE デバイスのバッテリーを抜いて再挿入すると、コールバックが返されますが、まだスキャンしているにもかかわらず、didDisconnectPeripheral
別のコールバックは返されません。didConnectPeripheral
私も電話をかけretrieveConnectedPeripheralsWithServices
てみretrievePeripheralsWithIdentifiers
ましたが、どちらも何も返しませんでした。
BLE デバイスの電源を入れ直した後、確実に再接続するにはどうすればよいですか?
ios - iBeacon テクノロジー (iOS 開発)
iBeacon テクノロジーのサポートが必要です。私たちの場合、アプリがフォアグラウンドまたはバックグラウンドにある場合に iBeacons を継続的にスキャン (Ranging) する機能が 1 つ必要です。CLLocationManager の標準更新場所メソッドで可能であることはわかっています。ただし、標準の位置情報の更新は使用したくありません (バッテリーの消耗のリスクを冒したくないため)。CLLocationManager を使用せずに CLBeaconRegion の連続レンジングを開始する他のオプションはありますか?
swift - iOS の広告で bluetooth LE データを送信する
私のアプリは Bluetooth LE ペリフェラルとして実行されており、Advertisement で数バイトのカスタム データを送信しようとしています。
しかし、CBAdvertisementDataManufacturerDataKey のデータ セットが取り除かれ、無線で送信されないようです。私は、Apple のドキュメントとオンラインでこれについて見つけることができるすべてのスクラップを読みました。CBAdvertisementDataLocalNameKey と CBAdvertisementDataServiceUUIDsKey のみがサポートされているため、Core Bluetooth はデータを無視するというのがコンセンサスのようです。上記はコンパイルして正常に実行され、BT スキャナー アプリで「これが機能することを願っています」が、カスタム データの 2 ビットが機能していないようです。
これを回避する方法はありますか? CoreBluetooth または私が見逃している完全にばかげたものに受け入れられる代替手段はありますか?
ありがとう、
ダン