【发布时间】:2012-12-07 11:14:19
【问题描述】:
我正在尝试使用 Safari 中的 URL 启动我的应用程序。
-(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
NSLog(@"Launched with URL");
return YES;
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
NSLog(@"Launched normally");
// Override point for customization after application launch.
return YES;
}
(也试过-(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
)
如果应用程序在后台(即,如果我双击主页按钮,它就在那里)应用程序正确启动并且控制台显示Launched with URL。
但是,如果我完全关闭它,也就是说,双击主页按钮,按住应用程序并单击减号,当尝试通过 Safari 再次启动它时,它只会显示黑屏并且不会向控制台记录任何内容。
这发生在设备和模拟器上(5.1 两者) 当应用程序完全关闭时是否应该调用另一个委托?
谢谢!
【问题讨论】:
-
您是否将 URL 方案添加到您的 info.plist 中?
-
是的。如果应用程序在后台并且我使用 URL 方案记录正在发送的文本,它显示正常。只有当它关闭时它才会卡在黑色窗口上
-
你通常也有 [self.window makeKeyAndVisible];在这两种方法中。
-
我认为这完全是我的错。当我断开设备与计算机的连接时,它开始工作。我相信这是因为杀死应用程序禁用了调试(SIGKILL)并且在重新启动它时失败了。未连接时,它可以工作。
标签: ios xcode url-scheme