我的应用程序可以读取使用“打开方式...”对话框打开的.txt文件。我实现了我的阅读功能,在如果应用程序尚未打开,请打开“...”问题
-(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
和
-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
方法两者。
有趣的是,它似乎只适用于应用程序以前打开。如果我在Mail中打开一个.txt文件并选择“打开”,那么我的应用程序。我可以在控制台看到,
-(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
被调用。我还可以看到URL到正确的文件,该文件是在supposably
文件://本地主机/私营/无功/移动/应用/ F15C57D0-4F62-4979-943A-2D387488D59C /文档/收件箱/ MyFile的。 txt
但是,当我尝试打开文件时,我得到一个Cocoa错误,指出这些文件不存在。
如果我重复步骤(应用程序在后台打开)比找到文件并立即生效。 这是为什么?
您是否在'application:didFinishLaunchingWithOptions:'的选项字典中引用'openUrl:url'的URL或者由'UIApplicationLaunchOptionsURLKey'键指定的值? – 2013-02-18 20:38:22
如果您的应用程序尚未运行,您将收到一个'application:didFinishLaunchingWithOptions:'消息,其中包含选项字典中的URL,然后您还将**接收到一个'application:openURL:sourceApplication:annotation:''信息。确保你没有在第一种方法中删除该文件,然后期望在第二种方法被调用时它仍然存在。 – 2013-02-18 21:02:22
这可能是问题所在。我在'didFinishLaunchingWithOptions'和'application:openURL'之后没有找到任何东西的时候删除了这个文件。我现在只处理'application:openURL'中的文件,它似乎工作正常。 – Joseph 2013-02-19 08:06:11