私は、ユーザーがiPodアプリで行うすべてのことを追跡するアプリを持っています。これを行うために、私はMPNusicPlayerControllerNowPlayingItemDidChangeNotificationのようにNSNotificationCenterにオブザーバーを少し追加しました。しかし、私の問題は、アプリがフォアグラウンドにあるときに通知を受け取るだけです。バックグラウンドで通知がキューに追加され、次にアプリがアクティブになったときに通知が届きます。私はリアルタイムの通知を受信したいので、私はこのキューに関心がありません。バックグラウンドモードでアプリで通知を受け取る
私のアプリがサスペンド状態にある場合でも、それらの通知を得るために私のための方法はありますか?このNowPlayingItemDidChange通知を得るたびに、コードの3行だけを実行したいとします。
ここに私がオブザーバーを追加します。私が代わりにiPodMediaPlayerの観察者にオブジェクトの別の種類を追加した場合
MPMusicPlayerController *iPodMediaPlayer = [MPMusicPlayerController iPodMusicPlayer];
NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter];
[notificationCenter addObserver: self selector: @selector(handle_NowPlayingItemChanged:) name:MPMusicPlayerControllerNowPlayingItemDidChangeNotification
object:iPodMediaPlayer];
[iPodMediaPlayer beginGeneratingPlaybackNotifications];
また、観察者はメソッドを呼び出しません。彼らはフォアグラウンドでないとき
どうもありがとう、
Abras
はい、この3つのオプションしかありません。しかし、システムに通知を登録する方法があると思われた場合、アプリはバックグラウンドモードに正常に入ります。ユーザーが通知をトリガーする何かをすると、Notification Centerは通知に応答できるようにアプリを起動させます。応答後、バックグラウンドモードに戻ります。 – Abras
@Abras:これを行う方法を見つけましたか?私はオーディオアプリを持っています。また、バックグラウンドにいるときに通知を受け取るようにしたい(他のオーディオアプリが登場するとき)。どうすればいいのですか? – Namratha
@Abrasこれはあなたがこれを理解しましたか? – WMios