0

sqlite データベースに接続する単純なアプリを作成しました。アプリは UI にストーリーボードを使用します。初めて、ログインビューが表示されます。認証が成功したら、sqlite データベースのステータスを 1 に変更します。デフォルトでは 0 です。ログイン後、アプリを使用できます。

たとえば、アプリを強制終了した場合、アプリが強制終了されたことをどのように知ることができますか? ステータスを変更してデフォルトに戻す必要があります。そのため、アプリをもう一度クリックするたびに、再度サインインする必要があります。

これを行う方法はありますか?ありがとう。

4

4 に答える 4

1

アプリケーション デリゲートは、アプリケーションの状態変更を処理するいくつかのメソッドを実装します。UIApplication.h ヘッダーから。

- (void)applicationDidFinishLaunching:(UIApplication *)application;
- (BOOL)application:(UIApplication *)application willFinishLaunchingWithOptions:(NSDictionary *)launchOptions NS_AVAILABLE_IOS(6_0);
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary  *)launchOptions NS_AVAILABLE_IOS(3_0);
- (void)applicationDidBecomeActive:(UIApplication *)application;
- (void)applicationWillResignActive:(UIApplication *)application;
- (void)applicationWillTerminate:(UIApplication *)application;

関連するメソッドはどれでも実装できます。この場合は、applicationWillTerminate状態を変更するメソッドです。または、常に でログイン ビューをスローしますapplicationDidBecomeActive。(ただし、これはデータベースの更新の問題を解決しません。データベースがローカルの場合、問題はありません。辞任または終了する前にデータベースを変更するだけです。ここでの課題は、データベースがサーバー上にある場合です。ボットかもしれませんが接続タイムアウトがリモート値の整合性に影響を与えることがわかりました。)

これらのメソッドは、AppDelegate.h および AppDelegate.m ファイルにあるアプリケーション デリゲートでプロジェクトに自動的に追加されます。

完全な説明については、UIApplication Delegate プロトコル リファレンス を参照してください。

于 2012-11-05T13:58:51.920 に答える
0

閉鎖アクションを実行できます。

- (void)applicationWillTerminate:(UIApplication *)application
{
    // Log out?
}

着信中など、アプリが強制終了されずに一時停止された場合も、同じことができます。

- (void)applicationWillResignActive:(UIApplication *)application
{
    // Log out?
}

また、

- (void)applicationDidEnterBackground:(UIApplication *)application
{
    // Log out?
}

あるいは、履歴書に、

- (void)applicationDidBecomeActive:(UIApplication *)application
{
    // Log in?
}

また、

- (void)applicationWillEnterForeground:(UIApplication *)application
{
    // Log in?
}
于 2012-11-05T13:58:03.223 に答える
0

アプリのプロセスがシステムによって強制終了され、アプリが強制終了されたことを通知するコードが呼び出されないため、アプリが強制終了されたかどうかを検出することはできません。

あなたが望むのは、ブール値のいくつかの種類を設定することです:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 

これは、アプリが強制終了された後にアプリを再起動すると呼び出されるためです。

Mosheによる回答を見た他の州について

于 2012-11-05T14:10:48.380 に答える
-1

編集

次のようなデリゲート メソッドを使用します。

applicationWillResignActive
于 2012-11-05T13:55:14.963 に答える