Parse.com deviceToken和PFInstallation未保存

时间:2015-06-29 13:21:37

标签: ios parse-platform devicetoken

我遇到了我的iOS App的PFInstallation的奇怪行为。在每次启动应用时,我都会注册设备以接收推送通知,并在方法didRegisterForRemoteNotificationsWithDeviceToken上调用以下代码:

PFInstallation *currentInstallation = [PFInstallation currentInstallation];

[currentInstallation setDeviceTokenFromData:deviceToken];

NSLog(@"%@", currentInstallation );

[currentInstallation saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
    if (succeeded) {

        NSLog(@"currentInstallation saved" );

    }

    if (error) {

        NSLog(@"currentInstallation NOT saved" );

    }
}];

当我在iphone上安装应用程序时,使用deviceToken正确保存安装。我绝对相信前几天我通过Parse Dashboard手动删除了deviceToken(尝试一下)然后在app重新启动时,设备令牌再次正确保存。我正在使用的某些频道也是如此。今天没有保存deviceToken,也没有保存频道。 saveInBackgroundWithBlock成功但deviceToken字段为空。 currentInstallation的NSLog包含deviceToken,但它没有保存。在尝试理解此行为的原因时,我发现如果我在currentInstallation.deviceToken = @"";之后添加行PFInstallation *currentInstallation = [PFInstallation currentInstallation];,那么deviceToken会被正确保存。消费Parse guru向我解释为什么会发生这种情况以及为什么前几天它不是?我最近在这个应用程序上升级了Parse Framework,这可能是原因吗?

0 个答案:

没有答案