4

私のアプリは、「開く...」ダイアログで開かれた.txtファイルを読み取ることができます。両方に読み取り機能を実装しました

-(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation

-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

メソッド。

興味深いのは、アプリが以前に開いていた場合にのみ機能するように見えることです. メールで.txtファイルを開いて「開く」を選択すると、アプリが開きます。コンソールを見ると、

-(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation

呼ばれます。おそらく正しいファイルへのURLも確認できます

file://localhost/private/var/mobile/Applications/F15C57D0-4F62-4979-943A-2D387488D59C/Documents/Inbox/myFile.txt

しかし、ファイルを開こうとすると、ファイルが存在しないという Cocoa エラーが発生します。

(アプリをバックグラウンドで開いた状態で)手順を繰り返すと、ファイルが見つかり、すぐに機能します。どうしてこれなの?

4

2 に答える 2

1

直接渡されたものではなく、キーを使用して辞書application:didFinishLaunchingWithOptions:からURLを取得することにより、「Openwith..」を処理する必要があります。optionsUIApplicationLaunchOptionsURLKeyurlapplication:openUrl:sourceApplication:annotations

https://developer.apple.com/library/ios/#documentation/FileManagement/Conceptual/DocumentInteraction_TopicsForIOS/Articles/OpeningSupportedFileTypes.html#//apple_ref/doc/uid/TP40010412-SW1

于 2013-02-18T20:54:17.617 に答える