我正在尝试使用自定义网址方案启动我的应用。如果应用程序背景,一切都很好。如果应用程序没有后台运行,它会启动,并且启动屏幕永远不会消失,最终它会被iOS杀死太长时间。我已经对此进行了广泛的调试,但无法解决问题。我甚至从我的应用程序didFinishLauinchingWithOptions
中删除了所有内容,以确保没有任何内容阻止它。这是我改变的代码,我要问的是它打开并给我一个空白的窗口,但是甚至不会这样做。只需挂在启动屏幕上。
if ([launchOptions objectForKey:UIApplicationLaunchOptionsURLKey]) {
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
[self.window makeKeyAndVisible];
self.window.rootViewController = [[UIViewController alloc]init];
return YES;
}
pist中的URL方案:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>fb23423444322</string>
<string>test</string>
</array>
</dict>
</array>
</plist>
答案 0 :(得分:1)
您如何处理应用程序响应URL方案时发生的情况。您应该在App Delegate中使用此委托方法:
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
// Do what you need here
return YES;
}
检查didFinishLaunchingWithOptions的内容。不应注释掉此方法中的代码。此外,看起来你在didFinishLaunchingWithOptions方法中有一个条件。这很可能是应用程序在启动时挂起的。