近くのBLEデバイスをスキャンし、そのうちの1つに接続し、接続されたデバイスと通信するアプリケーションを開発しています。私は2つのビューコントローラ、コントローラAとコントローラBでそれをやろうとしました。コントローラ-Aは、近くのデバイスをスキャンし、その1つに接続します。コントローラBは、接続されたデバイスにデータを交換します。コントローラ-Aは、CBCentralManagerDelegateを拡張します。私の問題は:私のアプリがコントローラBを表示するように切り替えると、CBCentralManagerからコールバックが得られないということです。コントローラBでCBCentralManagerを再度初期化する必要があります。また、デバイスをコントローラ-Aから切り離し、コントローラ-Bに再接続する必要があります。それを行うより良い方法はありますか?ありがとう。BLEのアクティビティを次のビューコントローラに続ける方法
4
A
答えて
6
BLE関連のコードを集中管理された場所に配置します。 BLEMaganer(より良い)またはAppDelegate(そう)。したがって、controllerAとcontrollerBは同じcentrolManagerインスタンスを共有できます。
たとえば、現在controllerAにはcentralManager
というプロパティがあり、そのデリゲートはcontrollerAに実装されています。 centralManagerにはcontrollerA.centralManager
でアクセスします。
centralManager
プロパティをAppDelegate
と同様に関連するコードに移動します。次に、cent30Managerインスタンスにアクセスすることができます
(UIApplication.sharedApplication().delegate as! AppDelegate).centralManager.
関連する問題
- 1. cancelPeripheralConnectionの後にBLEデバイスが再接続する(BLEデバイスを忘れる方法)
- 2. 次のアクティビティにスワイプする方法
- 3. 次の行にコードを続ける方法(長すぎるコード)
- 4. 例外を無視して次の値に続ける方法
- 5. BLEデバイスに接続した後のバッテリーレベルの取得方法は?
- 6. iOS BLEペリフェラルへの接続と接続を維持する最良の方法
- 7. 次のフォームで同じカウントダウンタイマーを続ける方法は?
- 8. BLE接続のバックグラウンドサービス
- 9. GATT接続後にBLEデバイスとペアリングする方法
- 10. 範囲内でBLEデバイスを自動接続する方法は?
- 11. iOSの現在のビューコントローラの前にすべてのビューコントローラを見つける方法は?
- 12. レンジングビーコンの間のBLE接続
- 13. ユーザーが提供するデータを次のアクティビティに渡す方法
- 14. ftpリクエストの完了を待つ方法、次にプログラムを続ける
- 15. BLEデバイススイッチ経由で携帯電話を見つける方法
- 16. BLE接続パラメータの設定
- 17. 2台のBLEデバイスを接続する
- 18. どのビューコントローラがビューコントローラを提示したかを知る方法
- 19. バックグラウンドでアクティビティを実行し続ける
- 20. Swift-BLE-UART様々なビューコントローラのシーンを読み書きするには?
- 21. アクティビティを受け入れると、アクティビティを開く方法は?
- 22. 同時BLE接続
- 23. Ble多重接続
- 24. BLE接続中止
- 25. ビューコントローラをリフレッシュする方法
- 26. Android BLEで23バイト以上を読み取る方法BLE
- 27. ラップカウントを続ける方法
- 28. アクティビティの切り替え中にBLEデバイスが切断される
- 29. アクティビティを変更して次のページを表示する方法
- 30. アンドロイドデバイスで7つ以上のアクティブなBLE接続を維持する方法
その集中管理された場所で、どのようにデータをコントローラAとコントローラBに返送しますか? ControllerAとcontrollerBはシングルトンではありません。私が画面上で実行しているインスタンスにデータが送り返されていることを知るにはどうすればいいですか?ありがとう。 –
私はsharedApplicationにアクセスする方法を理解しています。問題は、sharedApplicationから再びcontrollerAにデータを戻す方法です。たとえば、近くのデバイスを取得した後、sharedApplicationはデバイス名をcontrollerAにどのように戻しますか。ありがとう。 –
現在、ビューを更新するよう呼び出されるときに、デリゲートをcontrollerAに実装します。デリゲートはAppDelegateに実装されているので、controllerAに通知する方法が必要です。そのデータは準備ができています。私はNSNotificationを好む。 – dichen