3

iOS コントロール センターが開いているときに通知を受け取るにはどうすればよいですか?

UIApplicationWillResignActiveNotification は、通知センターが開かれたとき、アラート ビューが表示されたとき、およびその他の考えられるシナリオのときにもこの通知が送信されるため、十分ではありません。

これは不可能だと確信していましたが、ゲームの不正行為を防ぐために、ユーザーがゲームプレイの途中でコントロール センターを開くと、QuizUp アプリに通知されます。

ありがとう

4

3 に答える 3

0

通知を監視しながらアプローチをテストしましたUIPanGestureRecognizer(ステータスバーが表示されている場合と表示されていない場合-コントロールセンターの代わりに小さなプルタブが表示されると変更されます)applicationWillResignActive、コントロールセンターが開いているかどうかを確実に知ることができませんでした. パンが十分に遅い場合は、ジェスチャー認識エンジンが最初にトリガーされますが、コントロール センターをトリガーしてジェスチャー認識エンジンの起動をバイパスするのに十分な速さで上にスワイプするのは簡単です。

アプリが2 つの状態 (コントロール センター、通知センター、電話への応答など) のうちの 1 つに出入りしたかどうかを確認することは、アプリが次の状態からapplicationWillResignActive次の状態に移行したかどうかを確認するのにかなり信頼できる方法です。applicationDidBecomeActiveこのように通知とコントロールセンターは不可能だと言います。

TL;DR:コントロール センターが開かれたかどうかを判断する信頼できる正確な方法はないと思いますが、QuizUp はそれを偽造するために何か面白いことをしている可能性があります。

于 2015-03-01T03:44:30.323 に答える
-1

コントロール センターが開いているとき、サイクルは完了していません。メソッドのみ applicationDidResignActivityが呼び出され、呼び出さapplicationDidEnterBackgroundれないことを意味します。アプリが最小化されると、両方のメソッドが呼び出されます。ここで差別化できます。

于 2015-12-09T13:10:05.510 に答える