質問: tgl_switch+1; // 偶数だったら、stop工程 奇数だったら、start工程 if (tgl_switch > 0 & tgl_switch % 2== 0) // stop工程 { [self stop_func]; } // start 工程 else { [self start_func]; break; default: // UIEventSubtypeNone と UIEventSubtypeMotionShakeなので来ない break; } } } } ```
回答: Appleのリファレンス にある通り、event.subtypeに設定されるイベントの種類は、現在実装している再生/停止系の4種類以外に、 UIEventSubtypeRemoteControlBeginSeekingForward(早送り開始) と UIEventSubtypeRemoteControlEndSeekingForward(早送り終了) というのもあります。 このイベントは、 で説明されているように、純正のリモコンイヤホンであれば、中央ボタンを素早くダブルクリックし、 そのまま押したままの状態にすると、UIEventSubtypeRemoteControlBeginSeekingForwardイベントが発生し、その後ボタンを離すとUIEventSubtypeRemoteControlEndSeekingForwardイベントが発生します。 つまり、 UIEventSubtypeRemoteControlBeginSeekingForwardで測定開始し、 UIEventSubtypeRemoteControlEndSeekingForwardで測定停止するように実装すれば、 リモコンイヤホンの中央ボタンをダブルクリック長押しすることで測定開始し、ボタンを離せば測定停止するよう実装できると思います。 (シングルクリック長押しは、システムでSiriの起動に固定されているようなので、利用するのは難しいと思います。) また、付属の純正イヤホンでなく、市販のリモコンイヤホンでiPhoneに対応していて、早送りボタンが独立して存在しているようなものがあれば、その早送りボタンを押している間だけ測定することも可能だと思います。