【发布时间】:2013-06-30 10:57:59
【问题描述】:
我正在使用 application:openURL:sourceApplication:annotation: 打开扩展名为 .ftl 的文件。这是在我的应用程序的信息属性列表中声明的。
.ftl 文件附加到电子邮件中,触摸时会调用已启动的应用程序。该代码在 IOS 4 中运行良好,但在 IOS 6 中没有调用上述应用程序委托方法。
我的应用程序委托中的代码很简单:
-(BOOL) application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
NSLog(@"method is called");
if (url != nil && [url isFileURL]) {
[self performSelector:@selector(splashFade) withObject:nil];
NSLog(@"inside if statement called");
//Calls singleton to delete existing data, parse and ingest supplied new file data into Coredata:
[[ContentController sharedInstance] deleteSectorList:(NSURL *)url];
}
return YES;
}
有人知道为什么不再调用此方法吗?
谢谢。
【问题讨论】:
-
只是确认一下,在 iOS 6 下,您的应用是否出现在附件的“打开方式”菜单中?并选择它启动您的应用程序好吗?只是这个“openURL:”方法没有按预期调用?
-
其实“打开方式”菜单中出现了图标,但是应用程序并没有启动。如果我 NSLog 的 openURL 方法,它不会被调用。
标签: ios ios6 appdelegate openurl