簡體   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