6

Twitterアプリのようにしたい:誰かが私に書き込むときにプッシュ通知を受け取る。アプリが起動するが、通常のストリームではなく、通知をスライドさせると、誰かが私に書いたツイートが特定のビューで開始されます。ユーザーがプッシュ通知を受け取ったときに特定のタブ/ビューを開く

私のアプリでは、RSSリーダーのようなものがあり、新しいニュースがあるとプッシュ通知が届きます。 これで、メインビューではなく「単一のニュースビュー」を開きたいと思っています(これは今起こっています)。

どうすればよいですか?

ありがとうございました

答えて

11

あなたは2つのことができます。

一つは、アプリが通知をクリックすると、ユーザーを経由して起動されたかどうかを確認するために

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

UIApplicationDelegate方法のlaunchOptions辞書をチェックすることです。その場合、そのメソッドでは、通常はアプリ内での使用と同様に、適切なView Controllerをスタックにプッシュできます。

アプリはすでにオープンしているが、背景には、同じ理論が適用されますが、代わりにUIApplicationDelegateメソッドを使用し

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo 

場合は、着信通知を処理については、this linkを参照してください。

+7

これはすべてうまくいっていますが、ビュー階層がまだロードされていないようです。それを処理する最善の方法は何ですか? – elsurudo

+0

@elsurudo私はもう少し遅いですが、アプリのどこからでも見ることができるJLRoutesを使用することで対応できます。以下を参照してください:https://github.com/joeldev/JLRoutes – inga

+0

アプリがフォアグラウンドにあるときに強制的にナビゲートするのは悪い習慣です。ユーザーはその時点で通知を受け取ったことを知ることはできませんが、そのページは突然、彼の同意なしに突然変更され、非常に混乱し、「重要な」何か重要なことをしていた場合は、 ユーザが通知をタップすると、非常に同じメソッドが呼び出されるため、ナビゲートする前にUIApplicationStateをチェックするだけで済みます。 –

関連する問題