由於所有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
與本地條目中的條目不匹配,但我推送了推送通知。
您也可以通過編寫一個雲端函數來處理複製作業,它可以幫助您。這可以在installationRecovery
的後保存鉤子中觸發。
我也讓shure說這個代碼只在更新時執行一次。通過檢查用戶默認設置。
NSString *backuppedInstallation = [[NSUserDefaults standardUserDefaults] boolForKey:@"backuppedInstallation"];
if (!backuppedInstallation) {
// Your code here
[[NSUserDefaults standardUserDefaults] setBool:@(YES) forKey:@"backuppedInstallation"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
請編輯提及更多相關信息的問題。 –