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

Posted

技术标签:

【中文标题】如何在 parse.com 重新创建已删除的安装表【英文标题】:How to recreate deleted installation table at parse.com 【发布时间】:2014-07-17 11:44:33 【问题描述】:

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

此表包含我的 ios 用户的设备数据。由于设备 ID 丢失,我无法向用户发送任何推送通知

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

有没有办法从目标 C 代码重新创建安装表的行?

或者无论如何访问installationID和deviceToken,在这种情况下,我会手动重新创建表。

【问题讨论】:

请编辑问题,提及更多相关信息。 【参考方案1】:

由于所有other methods 都不起作用,我更新了我的应用程序,将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's 与本地条目中的不匹配,但我得到了推送通知。

您还可以通过编写一个云函数来处理复制作业。这可以在installationRecovery 的保存后挂钩中触发。

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

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

【讨论】:

以上是关于如何在 parse.com 重新创建已删除的安装表的主要内容,如果未能解决你的问题,请参考以下文章

Parse.com:我们可以防止安卓在安装更新的应用程序时创建新的安装记录吗?

重新创建已删除的 django_migrations 表

Parse - 每次都重新创建 Facebook 用户

CSV 导入按钮已停用。如何将 CSV 导入 Parse.com

解析,如何向目标用户发送推送通知

如何使用 Cloud Code 删除 Parse.com 中的角色