[英]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.