我正在从 safari 调用自定义 URL 来启动应用程序。如果应用程序在后台运行,它工作正常。但是当应用程序没有在后台运行,但已经安装在设备上时,应用程序不会启动。我已经实现了以下两种方法:
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
但是当应用程序不在后台运行时,它们都不会被调用。
我也用谷歌搜索,发现当应用程序不在后台运行时,我们可以使用以下代码启动应用程序
if ( [launchOptions objectForKey:UIApplicationLaunchOptionsURLKey] != nil ) {
NSURL *url =(NSURL *)[launchOptions valueForKey:UIApplicationLaunchOptionsURLKey];
[self application:application handleOpenURL:url];
}
在
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
但不幸的是,didFinishLaunchingWithOptions也没有被触发。有人有任何指示吗?
PS:这个问题只出现在 iPad 上。它在 iPhone 上运行良好。