4

アプリが起動するたびに、クリップボードにURLがあるかどうかを確認し、ある場合はそれを使って何かを行います。コールド起動(たとえば、バックグラウンドで強制終了された)から、またはホームボタンを押すだけでURLをコピーして元に戻る場合でも、アプリが起動するたびにオーバーライドできるメソッドが起動します。

これらの1つですか?

 - (void)applicationDidBecomeActive:(UIApplication *)application
 - (void)applicationWillEnterForeground:(UIApplication *)application
 - (void)applicationDidBecomeActive
 - (void)applicationDidFinishLaunching:(UIApplication *)application

混乱している。

4

4 に答える 4

14

@rmaddyが言うように、アプリが起動した後に使用する正しい方法はapplicationWillEnterForeground:、アプリの代理人からのものです。このメソッドは、ユーザーが戻ってきたときに呼び出されますが、応答する必要のない他の状況(ユーザーがテキストメッセージを受信して​​閉じるなど)では呼び出されません。

ただし、私のテストでapplicationWillEnterForeground:は、アプリがコールドから起動されたときに呼び出されません。でそれをキャッチする必要がありますapplicationDidFinishLaunchingWithOptions:

したがって、基本的に、アプリデリゲートには次のようなコードを含める必要があります。

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

    [self checkForURL];
    ...
}


- (void)applicationWillEnterForeground:(UIApplication *)application {

       [self checkForURL];
       ...
}

- (void)checkForURL{
    //code for checking for URL goes here
}

お役に立てば幸いです。

于 2013-06-09T04:06:05.020 に答える
0

- (void)applicationDidBecomeActiveアプリが起動されたとき、またはバックグラウンドからアクティブになったときに呼び出されます。

このドキュメントでは、すべてが非常によく説明されています:http: //developer.apple.com/library/ios/#documentation/iphone/conceptual/iphoneosprogrammingguide/ManagingYourApplicationsFlow/ManagingYourApplicationsFlow.html

于 2013-03-27T01:31:06.743 に答える
0

UIApplicationDelegateプロトコルを参照すると、アプリの起動の処理は2つの方法で処理できます。

  • application:willFinishLaunchingWithOptions:
  • application:didFinishLaunchingWithOptions:

また、バックグラウンドからのアプリ起動の処理は、次の方法を使用して処理できます。 applicationDidBecomeActive:

上記の呼び出しに基づいて、アプリケーションを処理できます。

于 2013-03-27T01:35:19.933 に答える
0

アプリデリゲートで、他の回答が提案しているメソッドに追加します(applicationDidFinishLaunchingWithOptions:)。ルートビューコントローラで、次の通知を登録します。これは、アプリケーションの実行が開始された後、アプリケーションが起動したときに常に呼び出されます。

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(bringingItBack)      name:UIApplicationWillEnterForegroundNotification object:nil];

これは、アプリが起動したときと、バックグラウンドからアプリを戻したときの両方のインスタンスをカバーします。

于 2013-06-09T04:29:21.863 に答える