問題タブ [cbperipheral]

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.

0 投票する
1 に答える
664 参照

encoding - CBペリフェラル名。エンコーディングの問題

iOS の Bluetooth 設定とアプリに表示される周辺機器の名前を変更して、ユーザーがデバイスを識別できるようにします。

私がすることは:

  1. ユーザーが UITextField に名前を書き、NSString を取得します。
  2. NSString を NSData に変換します。
  3. 特性は、新しいペリフェラル名で書き込まれます。
  4. Peripheral 変更 GATT デバイス名。

UTF8 エンコーディングを使用して NSData を取得すると、すべて正常に動作しますが、アプリが複数の言語をサポートしているため、チルダ、アクセント記号、キリル文字に問題があります。問題が iOS デバイスにあるのか周辺機器にあるのかわかりません。

私の質問:

  1. どのエンコーディングを使用すればよいですか?
  2. この文字を名前に使用することは可能ですか?
  3. peripheral.name が呼び出されたときに返される文字列には、どのエンコーディングが使用されますか?
  4. 表示される周辺機器の名前を変更する別の種類の解決策はありますか?
0 投票する
1 に答える
674 参照

ios - CoreBluetooth 読み取り/書き込みデータ

BLE周辺デバイスと通信するためにiOSセントラルを使用しています。

LGBluetooth フレームワークの使用https://github.com/DavidSahakyan/LGBluetooth

メソッドは取得します

「1234567890」を出力します

(char *) [data bytes] を NSInteger に変換する必要があります。手に入れたら

私は2013527536を取得しますが、値は周辺側で1234567890です

0 投票する
1 に答える
383 参照

ios - iOS CoreBluetooth と、他のデバイスが周辺機器に接続できないようにする

コア bluetooth アプリケーションを作成し、周辺機器に接続しています。周辺機器が接続できるセントラルを拒否する方法はありますか? ランダムな人がスキャンして、私の周辺機器が UUID をブロードキャストしているのを発見し、その UUID をブロードキャストして接続しようとした場合、どうすればこれを防ぐことができますか?

0 投票する
0 に答える
1214 参照

ios - Corebluetooth 状態の保存 willRestoreState

このアプリケーションは、中央マネージャーの状態の保存と復元を実装します。(IOS7.1)

アプリケーションがシステムによって終了されると (ei memory low )、コア Bluetooth はアプリケーションに代わって周辺機器のイベントを監視し続けるため、周辺機器は接続され続けます。

ここで、周辺機器が切断された場合 (範囲外)、アプリケーションはバックグラウンドで再起動され、willRestoreStateが呼び出されますが、 didDisconnectPeripheralは呼び出されませんが、アプリケーションがユーザーによってフォアグラウンドに戻された場合は、didDisconnectPeripheralが呼び出されます。

このアプリケーションは、状態の復元後、まだバックグラウンドにある間にdidDisconnectPeripheralイベントを処理する必要があります。

どうすればこの動作を実現できますか?

0 投票する
1 に答える
218 参照

ios - iOS で UIViewController を変更するときに Bluetooth 接続を維持する

周辺デリゲートのメソッドを2つのUIViewControllerに入れましたが、2番目に入ると接続が失われ、再び接続されます。私が望むのは簡単です。同じ CBPeripheralManager と CBMUtableCharacteristic との接続を維持することです。解決策はありますか?

ありがとうございました

0 投票する
1 に答える
1297 参照

ios - CoreBluetooth : 複数の切断された周辺機器を取得する正しい方法は何ですか?

私が現在取り組んでいるプロジェクトでは、シングルトン クラスを使用してすべての Bluetooth 関連タスクを処理しています。複数の周辺機器とのCBCentralManager接続を処理するオブジェクトです。が検出されたらCBPeripherals、ユーザーが周辺機器を選択して接続できるようにします。接続が確立されると、利用可能な別のデバイスを選択できるため、接続は順次行われます。

しかし、接続の取得に関しては、取得した周辺機器の配列を取得します。複数の周辺機器を取得するためのベスト プラクティスは何ですか? ペリフェラルへの接続要求を一度に複数作成してもいいですか、それとも順番に行うべきですか?

現在、取得した周辺機器をループして、待機せずに接続しようとしています。動作しますが、接続しているbleハードウェアに問題がある可能性がありますが、少し時間がかかります.

さらに、メソッドを起動すると、デリゲート コールバックが返されないため、メソッドでretrievePeripheralsWithIdentifiers:取得を行っています。centralManager:didDisconnectPeripheral:error:

NSArray *retrieved = [self.centralMgr retrievePeripheralsWithIdentifiers:identifiers];

次に、取得したオブジェクトをループします。

それは動作しますが、それは正しい方法ですか?