我的应用程序在后台打开或运行时使用URL方案打开正常,但是如果我退出应用程序(不在后台或前台运行)然后尝试使用URL方案打开它,它会立即崩溃
来自扩展程序的OpenURL代码:
var url: NSURL = NSURL(string: "lifeguard://emergency")!
self.extensionContext?.openURL(url, completionHandler: nil)
处理网址的代码:
func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject?) -> Bool {
if (url.host == "emergency") {
NSNotificationCenter.defaultCenter().postNotificationName("emergency", object: nil)
}
return true
}
答案 0 :(得分:0)
我也有这个问题。但我的情况有所不同。这个方法之后
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
if ([url.scheme isEqualToString:"your URL"]) {
return [[URLManager sharedInstance] handleOpenURL:url];
}
return YES;
}
我希望选定的视图控制器能够执行某些操作。所以我试着称之为:
- (void)callController
{
[self performSelector:@selector(performSelectorPushView:)
withObject:controller
afterDelay:0.0];
}
- (void)performSelectorPushView:(UIViewController *)controller
{
BOOL animated = ([UIApplication sharedApplication].applicationState == UIApplicationStateActive);
[yourRootViewController pushViewController:controller animated:animated];
}