繁体   English   中英

如何在parse.com上重新创建已删除的安装表

[英]How to recreate deleted installation table at parse.com

我不小心将Installation表放在了parse.com数据浏览器中。

该表包含我的iOS用户的设备数据。 由于缺少设备ID ,我无法向用户发送任何推送通知

我知道重新创建安装行的唯一方法是删除并重新安装该应用程序 但这不是选择,因为它完全破坏了用户体验。

有没有一种方法可以从目标C代码重新创建安装表的行?

还是无论如何都访问installationID和deviceToken,在这种情况下,我将每手重新创建表。

由于所有其他方法均不起作用,因此我以一种将currentInstallation所有数据保存在备份表中的方式更新了我的应用程序。

PFObject *backupInstallation = [PFObject objectWithClassName:@"installationRecovery"];
for (NSString *key in [PFInstallation currentInstallation].allKeys) {
    // Filter out the basic keys.
    if (![@[@"objectId", @"createdAt", @"updatedAt"] containsObject:key]) {
        [backupInstallation setObject:[PFInstallation currentInstallation][key] forKey:key];
    }
}
[backupInstallation saveInBackground];

在获得所有安装条目后,我将缺少的条目手动添加到“ Installation表中。 尽管objectId的与本地条目中的不匹配,但是我得到了推送通知。

您还可以通过编写为您完成的云功能来处理复制作业。 这可以在installationRecovery的后保存钩中触发。

我还确保该代码仅在更新时执行一次。 通过检查用户默认设置。

NSString *backuppedInstallation = [[NSUserDefaults standardUserDefaults] boolForKey:@"backuppedInstallation"];
if (!backuppedInstallation) {
    // Your code here
    [[NSUserDefaults standardUserDefaults] setBool:@(YES) forKey:@"backuppedInstallation"];
    [[NSUserDefaults standardUserDefaults] synchronize];
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM