diff --git a/MatrixSDK/Data/Store/MXFileStore/MXFileStore.m b/MatrixSDK/Data/Store/MXFileStore/MXFileStore.m index e2bfc932f..5207df6c6 100644 --- a/MatrixSDK/Data/Store/MXFileStore/MXFileStore.m +++ b/MatrixSDK/Data/Store/MXFileStore/MXFileStore.m @@ -2209,7 +2209,23 @@ - (void)saveReceipts // Store new data [self checkFolderExistenceForRoom:roomId forBackup:NO]; - [NSKeyedArchiver archiveRootObject:receiptsStore toFile:file]; + + NSError *error = nil; + NSData *result = [NSKeyedArchiver archivedDataWithRootObject:receiptsStore requiringSecureCoding:false error:&error]; + + if (error != nil) + { + MXLogErrorDetails(@"Failed archiving receipts store", error); + continue; + } + + [result writeToURL:[NSURL fileURLWithPath:file] options: NSDataWritingAtomic error: &error]; + + if (error != nil) + { + MXLogErrorDetails(@"Failed writing receipts store to file", error); + continue; + } } } }