0

私の質問..これが可能かどうかさえわかりませんが、他の人からは興味があります...

ユーザーが開いたり、バックグラウンドから戻ったりするたびに、パスワードの使用を求めるアプリがあります。正常に動作します。

データの機密性のため、非アクティブ状態が一定時間続くと、ユーザーにデータを入力するか、バックグラウンドに移行するように求める自動ロック タイプの機能を作成できるようにしたいと考えています。たとえば 30 秒以内に応答がない場合は、アプリをバックグラウンドに移行させます (これは、画面に残っているデータの種類であり、悪意のあるユーザーによって発見された場合に恐ろしい結果をもたらす可能性があります。携帯電話を無防備にした場合に状況が発生することは誰もが知っています)。 .

これは可能ですか?もしそうなら..私を動かすためのいくつかの一般的な考え。

このアプリは、各タブ バー アイテムとしてナビゲーション コントローラーを備えたタブ バー アプリケーションです。とても簡単です。

ありがとう。

4

3 に答える 3

2

URLを開くことができます。Safari を開く通常の HTTP URL、または別のアプリケーションによって処理される URL のいずれかです。しかし、これはかなり悪い設計であり、Apple が問題を起こす可能性があります。システムではなく、アプリケーションの動作のみを制御することになっています。

しかし、あなたがこれから何を得ようとしているのか理解できません。非アクティブを検出しています。しかし、機密データの上に不透明なビューを配置して、すべてを隠し、アプリケーションのロックを解除するボタンを提供してみませんか? アプリケーションがバックグラウンドに移行する必要があるのはなぜですか?

于 2012-04-25T17:56:30.147 に答える
0

ユーザーがアプリを操作するたびに、このようなメソッドを呼び出します

[lockoutTimer invalidate]  
lockoutTimer =  [NSTimer scheduledTimerWithTimeInterval:(30) target:self selector:@selector( method to ask the user to either enter data or make go a website) userInfo:nil repeats:YES];

Web サイトのコードに移動:[[UIApplication sharedApplication] openURL:[NSURL URLWithString: myWebsiteURL ]];

于 2012-04-25T18:48:36.027 に答える
0

私の知る限り、自発的にバックグラウンドに入る方法はありません。最良の概算は、ブラウザーに置き換えられるように、何らかの URL を開くように要求することです。

それ以外に、タイマーをキャンセルして、必要な分だけ再起動するコードを作成できます。各「アクティビティ」で呼び出されます。タイマーが期限切れになった場合は、モーダル ビュー コントローラーをプッシュして、ロック解除として必要な情報を取得します。アクティビティと見なされる可能性のあるすべてのことを決定し、処理するには、ある程度の検討が必要になる場合があります。:)

于 2012-04-25T17:58:37.057 に答える