5

この2つのシナリオのどちらが進行しているかによって、イベントの順序が少し異なるため、違いを見分けられるようにしたいと思います。助言がありますか?

4

3 に答える 3

10

handleOpenURL非推奨なので使用しないでください。代わりにapplication:openURL:sourceApplication:annotation:(iOS 4.2 以降で使用可能) を使用してください。

Apple のドキュメントには、次に関する質問への回答が記載されていますapplication:openURL:sourceApplication:annotation

URL を開くためにアプリを起動する必要がある場合、アプリは最初に application:willFinishLaunchingWithOptions: メソッドと application:didFinishLaunchingWithOptions: メソッドを呼び出し、次にこのメソッドを呼び出します。これらのメソッドの戻り値を使用して、このメソッドが呼び出されないようにすることができます。(アプリケーションが既に実行されている場合は、このメソッドのみが呼び出されます。)

于 2013-08-20T12:40:24.743 に答える
2

AppDelegate でこのメソッドを試しましたか?

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
    NSLog(@"Launched with URL: %@", url.absoluteString);

    [[NSNotificationCenter defaultCenter] postNotificationName:NOTIFICATION_APP_OPENED_FROM_LINK object:[userDict objectAtIndex:0]];

    return YES;
}
于 2013-08-20T12:36:34.963 に答える