我的應用程序可以讀取使用「打開方式...」對話框打開的.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