3 つの Sphero 対応フローを持つ iOS アプリを作成しました。各viewDidLoadでsetupRobotConnectionとhandleRobotをオンラインで書き換えてから、各prepareForSegueメソッドで接続を閉じました。ほとんどの場合は機能しますが、NavigationController の [戻る] ボタンが問題を引き起こす可能性があります。これは、Sphero に接続して接続を維持するための最良の方法ではないと考えています。
私のアプリでは、各フローでわずかに異なる handleRobotOnline が必要でした。フロー 1: 駆動は必要ありません。dataStreaming と AsyncData フロー 2: コマンドを送信するためのマルチプレイヤー クラスが必要です。フロー 3: dataStreaming と AsyncData を必要とする 1 つのビューを使用したジョイスティックの駆動
私の質問は次のとおりです。マルチビュー アプリの場合、1) アプリの通知を購読するのに最適な場所はどこですか? 2) ロボットのオンライン/オフライン通知を購読しますか? 3) アプリがロボットへの正しいタイプの接続 (driveControl、sharedMultiplayer、dataStreaming) を持っているかどうかを確認しますか?
必要に応じてコードを貼り付けることができます