applicationWillEnterForeground handleOpenURL问题

时间:2010-10-18 00:48:30

标签: iphone

我有一个可以通过点击应用外部链接启动的应用。在iOS 4之前,这很好用。但是现在你必须实现applicationWillEnterForeground,我遇到了问题。我遇到的问题是从这个方法转到handleOpenURL方法。

调用didFinishLaunchingWithOptions时没有问题,因为我在那里处理了url。但是当我的应用程序进入后台,然后进入前台时,似乎没有调用didFinishLaunchingWithOptions,或者至少不完全。我说并不完全是因为启动画面出现并且你被带到主屏幕,但是这个逻辑只存在于didFinishLaunchingWithOptions中,所以我不确定如果没有didFinishLaunchingWithOptions触发,启动页面是如何出现的。但是,当应用程序恢复时,url逻辑不会触发,这也是在didFinishLaunchingWithOptions中。

我认为这是我需要使用applicationWillEnterForeground的地方,但是这个方法没有options参数,所以如何获取url并将其传递给 - (BOOL)应用程序:(UIApplication *)应用程序handleOpenURL:(NSURL *)url

我真正想做的就是让我的应用程序在第一次启动后变为非活动状态时从链接启动。我还没有实现applicationWillEnterForeground,因为我不知道如何处理它。它真正需要做的就是处理网址。

1 个答案:

答案 0 :(得分:2)

如果您还在等待答案,

只需使用方法

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url 

就像你提到的那样,当你的应用程序被调用来处理文件时,会自动调用这个方法(“打开...”)

但是,此方法现已弃用,因此请改用此方法

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation