如何在 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:我们可以防止安卓在安装更新的应用程序时创建新的安装记录吗?