从url架构启动应用程序时,未调用didFinishLaunchingWithOptions

时间:2016-08-02 16:14:47

标签: ios url-scheme

我是iOS开发的新手。我想在我的应用程序上添加深层链接,所以我更喜欢url架构,所以现在我想从另一个应用程序打开我的应用程序然后应用程序打开并立即崩溃没有任何一个方法被调用。

就像在这里我在didFinishLaunchingWithOptions方法

上添加警报一样
-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
   UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"Info" message:@"Finish Called" delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil,nil];
   [alert show];
   [self.window makeKeyAndVisible];
   return YES; 
}

当我的应用程序打开时,此方法也不会被调用

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
 {
    UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"Info" message:[NSString stringWithFormat:@"%@",url] delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil,nil];
    [alert show];
    return YES;
 }

只是打开启动画面并且崩溃可以帮助我吗?

提前谢谢。

1 个答案:

答案 0 :(得分:0)

有两种情况
1. app处于暂停状态     - 当你点击url然后将调用applicationdidFinishLaunchingWithOptions,你将在选项字典中获取url并且将跳过openUrl方法

-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
   return YES; 
}

2。如果app在后台,那么openUrl方法只会被调用。