かなり簡単です。通知を送信する必要があるアプリがありますが、アプリケーションが最前面にある場合は送信されません。NSUserNotificationCenterクラスリファレンスから:
ユーザー通知センターは、配信されたユーザー通知をユーザーに提示するかどうかを決定する権利を留保します。たとえば、アプリケーションがすでに最前面にある場合は通知を抑制することがあります(デリゲートはこのアクションをオーバーライドできます)。
私が収集できることから、それはuserNotificationCenter:shouldPresentNotification:
NSUserNotificationCenterDelegateプロトコルリファレンスに示されているメソッドと関係がありますが、それを実装する方法を理解することはできません。私はすでにクラスをNSUserNotificationCenterDelegateに設定しているので、そうではありません。
何か案は?
編集:NSUserNotificationCenterDelegateとして設定したクラスで、これを使用して元のメソッドをオーバーライドしようとします。アプリが最前面にある場合、デフォルトでNOになります。
- (BOOL)userNotificationCenter:(NSUserNotificationCenter *)center shouldPresentNotification:(NSUserNotification *)notification {
return YES;
}
しかし、何も起こりません。