iCloud and Logbook AppUpdate from September 18, 2021 (revised on September 19, 2021 and December 5th 2021)
Do not use iCloud synchronization while recoring in background!
However, it is possible to copy the data to the iCloud after the trip and then distribute it synchronously to all your devices. This way it is also possible to make retrospectively adjustments to the records that synchronize between your devices. Problematic is just the automatic recording of a trip in the background while the iCloud synchronization is active. If you don't use the automatic recording (blue frame in the app), you won't have any problems.
Technical backgroundWhen I speak of iCloud synchronization, I actually mean the use of Core Data with Cloud Kit (introduced by Apple with iOS 13). The problem is that this synchronization has not worked reliably in the background recently. This means that a new entry is sometimes not uploaded to the iCloud, and even worse, iOS closes the logbook app in the background because iOS interferes with the background tasks of Core Data with Cloud Kit. As a developer, I cannot adjust or configure Core Data with Cloud Kit very well. I can turn it on or off, the functionality is provided by Apple.
These are the known issues
- The app is terminated by iOS while it should record in the background, and therefore entries are missing
- New entries are not uploaded to the iCloud while the logbook app is in the background. But the records are visible locally. However they never arrive on a second device. At some point, iCloud will also delete these entries from the first device, and the data will be lost forever.
Recommended use of iCloud synchronizationIf you want to use the iCloud synchronization, then please only for data storage, but not for recording on the water!
What needs to be understood in general
- The technology behind it is the same that Apple uses to synchronize your notes, reminders, contacts, pictures, etc. via iCloud across multiple devices. So if this technology does not work for you, then leave this feature of the logbook app generally deactivated.
- Never use iCloud synchronization while you are automatically creating your entries in the background with the Loguch app. (blue frame)
- The standard setting in the logbook app is that iCloud synchronization is off.
- You must be signed in to iCloud with the same Apple ID on all devices
- With Internet connection, it can take up to 20 seconds for a record or a change to a record to be synchronized to the other device.
- You can only use the entire database locally or synchronized with iCloud.
- To activate iCloud sync go to Settings > iCloud > and activate the toggle switch (green)
- After activating the iCloud database, the app is closed and when you open it again you will find an empty database, but this is now synchronized in iCloud
- If you deactivate iCloud in the settings, you will have the local database from before.
- You can easily switch back and forth between the two variants.
- When activating or deactivating the iCloud function, the app has to be restarted, sometimes the change did not arrive and it is as if you had never pressed the switch under Settings> iCloud. Just try it again.
OK, how do I do it now so that there are no problems?Repeat the following for each trip:
- You want to start a new trip and create record automatically
- Deactivate iCloud Sync (Logbook App > Settings > iCloud) on the device that you use for recording on the trip. And check it after restarting the app (gray switch).
- Use the logbook app as usual to record
- At the end of the trip, export your database (Tools > Export > SQLite) and select Save to Files and save the file either in iCloud Drive (or alternatively in the local folder if you don't have an iCloud Drive)
- Activate iCloud Sync again (Logbook app > Settings > iCloud). And check it after restarting the app (switch green).
- In the Files app, open the database you just exported with the logbook app and select the logbook to import.