In our app, there is a scenario where we write and delete approximately 100MB of files to the iCloud server at once using NSPersistentCloudkItContainer(CoreData)
. While write, read, and delete operations are immediately reflected in the local database, there is a noticeable delay when accessing the CloudKit Database dashboard.
Here is the testing approach we have tried:
- Data Insert Test
- Prepare around 100MB of data.
- Write the data to CoreData on device A.
- When launching the app on device B, it takes about 5 minutes for the data to be fully synchronized.
- Data Deletion Test
- Remove all the added data on device A (immediately reflected in local storage.)
- After performing step 1, leaving device A idle takes about 3 minutes for the deletion to be reflected on device B.
- if the app is deleted on device A after step 1, deletion information does not reach device B. Upon reinstalling the app on device A, the deleted data reappears on device B (synchronized data).
The ongoing occurrence of these issues has raised several questions regarding cloud synchronization and synchronization speed:
- Is the synchronization speed of the Testflight app the same as the one received from the AppStore?
- Are there traffic limitations per account or device?
- Despite different perceived speeds for each account or device, is there any factor influencing synchronization speed other than network conditions?