2011-01-16 3 views
-1

アプリケーションがiOS 4のバックグラウンドに座っているときに、「application:applicationDidFinishLaunchingWithOptions:」というメッセージが表示されず、アプリケーションは別のアプリケーションによってフォアグラウンドに戻されます。iOS 4バックグラウンドプロセスを使用したiPhone SDKファイルハンドラ

私のアプリケーションは、特定のファイルタイプのハンドラとして登録され、Safariやその他のサポートされているアプリケーションでは、ファイルをアプリケーションに渡すことができます。これは、私がそれを使用しようとする前に、アプリケーションが閉じられているが、それ以外の場合は失敗する場合は素晴らしいです。私のアプリケーションで

:applicationDidFinishLaunchingWithOptionsは:私が持っている:

NSURL *url = (NSURL *)[launchOptions valueForKey:UIApplicationLaunchOptionsURLKey]; 
if([url isFileURL]) { 
} 
[self.window makeKeyAndVisible]; 
return YES; 

をすでに述べたように、これは、それがバックグラウンドで座っていないときのアプリを起動するため、これまで素晴らしい作品 - しかし、私はサファリに戻って切り替えますかメールを開いて、サポートされている新しいファイルを開こうとすると、アプリケーションがバックグラウンドから復活して再びアクティブになりますが、アプリケーションの「withOptions」のオーバーライドは表示されません:applicationWillEnterForeground:フォアグラウンドに入る。

アプリケーションがバックグラウンドにあるときに、これらの「オープンファイル通知」を受信する適切な方法は何ですか? OpenURLの:sourceApplication:あなたのアプリがフォアグラウンドアプリになったときに、UIApplicationDidBecomeActiveNotification

+0

-1紛らわしい質問です。最初の文は、「アプリケーションがフォアグラウンドに戻ったとき」に通知されるかどうかを尋ねます。その後、バックグラウンドで開いているファイルに関する通知を受け取るかどうかを尋ねます。その後、あなたは自分自身に答えて、NSResponderを怒らせました。 –

答えて

1

を受け取るために、いくつかのオブジェクトを登録通知されるように

0

は、アプリケーションを使用してことが表示されます注釈:これらの通知を受信したことにより良いアプローチです。これは、アプリケーションが初めて起動されたとき、および再びアクティブになったときに呼び出されます。

アプリケーションにapplicationDidFinishLoadingWithOptions:コードを移動しました:openURL:sourceApplication:annotation:アプリケーションに渡されたファイルを処理するため、すべての場合に動作します。

+0

質問は「非アクティブ/バックグラウンド状態で「開いているファイル通知」を通知する方法」でした。質問を再度読んでください。 –

+0

NSReponderは元の投稿の質問の最初の部分に答えました。 –

関連する問題