如果在didFinishLaunchingWithOptions方法中从URL打开应用程序,如何处理?

B.S*_*.S. 6 objective-c ios

当从某些URL AppDelegates's方法打开iOS应用程序时,会按以下顺序调用:

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

2. - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
Run Code Online (Sandbox Code Playgroud)

didFinishLaunchingWithOptions如果从URL打开应用程序,如何知道方法.可能有一些我想念的发布选项?

Max*_*hev 9

你可以检查launchOptions传递给- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions.

请特别注意Launch Options Keys参考文档中的部分UIApplicationLaunchOptionsURLKey

  • 特别是'UIApplicationLaunchOptionsURLKey`键的存在 (3认同)

Eri*_*net 6

如果您的应用程序已从URL启动,您将找到一个

UIApplicationLaunchOptionsURLKey 
Run Code Online (Sandbox Code Playgroud)

launchOptions字典中 -(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

在相关的说明中,该handleOpenURL:方法已弃用,您应该使用:

-(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
Run Code Online (Sandbox Code Playgroud)