这是我的情况:
该应用会收到一些通知,为了能够在我的锁定屏幕上执行操作,它们处于静音模式(aps有效负载上的content-available = 1)。
在didReceiveRemoteNotification回调中,我将其保存到核心数据(背景或前景)中。
我的问题是:
假设该应用程序已经在运行,并且我已经锁定了屏幕,那么当我点击某些通知时,不会调用任何回调。到目前为止,我无法找到处理此事件的正确回调。
我想念什么吗?
我需要保存通知列表,并且能够在到达某些通知(并点击)时转到正确的视图。
通过接收通知,保存,转到正确的视图的方式...一切正常,除了屏幕锁定时。
最佳答案
我怀疑通知到来时您的应用程序是否正在运行,因为如果应用程序处于非活动状态并且轻按了通知,则iOS将调用didReceiveRemoteNotification
。
但是,如果由于某种原因应用程序未运行,则不会调用didReceiveRemoteNotification
函数。在这种情况下,如果用户单击通知,则会通过通知启动应用程序,并调用didFinishLaunchingWithOptions
:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
var userinfo : NSDictionary = launchOptions[UIApplicationLaunchOptionsRemoteNotificationKey];
print(launchOptions);
return true
}
请在您的
didFinishLaunchingWithOptions
函数中检查一次。