iOS应用程序没有后台运行时的自定义URL Scheme

5

我为我的应用设置了一个自定义的深度链接iOS URL Scheme,并在其中监听

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

我会解析URL并使用NSNotificationCenter发送通知,将URL作为对象发送到适当的类以处理该URL。当应用程序处于“后台”时,这一切都很顺利,但是当应用程序完全关闭多任务处理时,似乎通知从未被发送(或接收)。我是否忽略了应用程序不在后台时进行通知的过程中的某些内容?还有没有其他方法来传递URL信息?或者至少有一种方法告诉我们应用程序是从后台返回还是重新启动?谢谢!

1
我建议查看applicationDidFinishLaunching:withOptions:方法。通知应该在启动选项字典中传递。http://developer.apple.com/library/ios/#documentation/uikit/reference/UIApplicationDelegate_Protocol/Reference/Reference.html - Mike D
确保从 application:willFinishLaunchingWithOptions:application:didFinishLaunchingWithOptions: 返回 YES。如果其中任何一个返回 NO,则在应用程序启动时将不会调用 application:openURL:sourceApplication:annotation: 方法。 - rmaddy
@rmaddy 两个都返回YES,“application:openURL:sourceApplication:annotation:”被调用,但通知没有被传递。 - JeffN
@MikeD,我现在正在查看,谢谢。 - JeffN
@MikeD使用启动选项字典中的URL解决了问题。谢谢,如果您想提交答案,我可以标记为已解决。 - JeffN
1个回答

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接