设置NSUserDefault当应用取消或处于非活动状态时

时间:2016-06-28 04:27:23

标签: ios objective-c xcode apple-push-notifications nsuserdefaults

我的应用关闭或取消时收到推送通知。有没有办法在发生这种情况时设置nsuserdefault?我知道如果用户点击通知或从通知中打开应用程序,您可以检查应用程序是否处于非活动状态或已取消,但如果他们没有从通知中打开应用程序,而只是通过单击图标启动应用程序?

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

我知道这个方法被调用但是如果应用程序被终止或取消,我似乎无法保存到nsuserdefaults。

1 个答案:

答案 0 :(得分:0)

如果应用已关闭或处于非活动状态,用户可通过图标打开应用, 如果有任何通知,您将在“didFinishLaunchingWithOptions”方法中获得远程通知,如果需要,您可以在那里设置userdefault。 以下是在“didFinishLaunchingWithOptions”中获取远程通知的代码

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


if (launchOptions) { //launchOptions is not nil
    NSDictionary *userInfo = [launchOptions valueForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
    NSDictionary *apsInfo = [userInfo objectForKey:@"aps"];

    if (apsInfo) { //apsInfo is not nil
        [self performSelector:@selector(postNotificationToPresentPushMessagesVC) 
                   withObject:nil
                   afterDelay:1];
    }
}
return YES;
}

如需更多帮助,请访问link @staticVoidMan已经得到了很好的回答。

希望这有助于!