Home > Announcements > iCloud syncing in Account Tracker

iCloud syncing in Account Tracker

January 11, 2015

aticon57 A lot of the support questions I receive are to do with database syncing in Account Tracker, and 99% these are to do with iCloud rather than Dropbox.

This post tries to explain some of the more common issues related to iCloud syncing in Account Tracker (Pro), together with workarounds where known.

First an iCloud overview …

iCloud is basically “cloud” based storage tied to a single iTunes account. Apps can use it to share data between all devices belonging to that user. It cannot be used to share data between different users and that is why I introduced Dropbox – see the Alternatives to iCloud section below.

When an app writes a file to iCloud, the operating system (iOS) takes care of copying this to “the cloud” and from there to other devices. Apps have no control over how long this takes. Often it is seconds, but I have seen delays of many minutes, even up to an hour. On at least two occasions iCloud has been offline for days!

Basic things to check

You should check that you are running the latest versions of my app and of iOS itself. Apple have fixed MANY bugs in iCloud since the release of iOS 8.

To use iCloud, each device needs to be signed in and using the SAME iTunes account. This is done in the main Settings app, under iCloud.

And for iCloud to work, you clearly need network access, otherwise files can’t be copied between devices. This can either be WiFi or mobile data (enabled in the main Settings app). Note that devices don’t have to be on the same network. They just need access to the Internet.

Finally you need a few MB of free space on iCloud – you can check this in the main Settings app, under iCloud.

iCloud vs iCloud Drive?

With iOS 8 (and OS X Yosemite), Apple introduced iCloud Drive. A user can choose between iCloud and iCloud Drive, however once ANY SINGLE DEVICE moves to iCloud Drive (no matter which one, even your Mac), there is no going back. All of your files are migrated to iCloud Drive and access to iCloud will be blocked for all your other devices. This means that any device not able to run iOS 8 (e.g. the iPhone 4) will lose access to iCloud across all apps!

Basically it’s an all or nothing choice – either you stick to using iCloud everywhere or you move to iCloud Drive everywhere.

If you do want to migrate to iCloud Drive, you do this in the main Settings app, under iCloud. From there you can control which apps have access, and clearly Account Tracker needs to be selected.

Either way, both iCloud and iCloud Drive work the same as far as my app is concerned. Use of the term iCloud from now on can be assumed to mean both iCloud and iCloud Drive.

UPDATE (2020): I think everyone should have moved to iCloud Drive by now.

Exchanging backup files

The easiest way to test whether iCloud is working, is to exchange backup files between devices. In my app go to the Settings tab, make sure iCloud is enabled and go to the Backups screen. From there you can make a backup by tapping the Backup Now row. This will quickly create a new backup and add it to the top of the list of backups. The date and time is encoded in the file name.

Now go to your other device and run my app. Make sure iCloud is enabled in the settings and go to the Backups screen. You should see your new backup listed, if not periodically tap the refresh button at the top right. It can sometimes take a while to appear, but should do so eventually (within a few minutes for sure).

Next try making a backup in the other direction. On your second device choose Backup Now, see the new file appear and on your first device wait for it to appear there too.

If you can exchange backup files, syncing should “just work”.

Problems enabling syncing

The main issues around enabling syncing all relate to the time it takes for iOS to inform the app about new files appearing in iCloud.

Step 1 is where you enable syncing on your PRIMARY device. This copies a new sync file to iCloud.

Step 2 is where you enable syncing on your SECONDARY device. If it doesn’t give you the option of becoming SECONDARY, this is because the file in step 1 has not appeared on that device. It will do eventually, but you need to give it time (a few minutes).

Once enabled on your SECONDARY, step 3 is simply the SECONDARY waiting for an initial sync from your PRIMARY. Make sure my app is running on your PRIMARY device, and eventually you should see the “found a new SECONDARY device” popup. Again this can take a while (a few minutes).

Step 4 is simply you initiating the initial sync from PRIMARY to SECONDARY.

Finally step 5 is when the SECONDARY confirms the initial sync is complete. Again this can take a while (you guessed it, a few minutes).

In total this setup process involves writing 3 files to iCloud, and all the delays in copying them to “the cloud” and on to all devices. I have no control over how long this takes, however the 5 step process usually takes less than a minute in total. But I have seen big delays (11 minutes for the popup to appear in step 4 for instance).

Syncing has stopped working?

Once syncing is enabled, changes are tracked and when you close the app (by pressing the Home button), that device’s sync file is updated. This eventually makes it to your other devices and you will see the Sync flag on the settings tab.

Sometimes it might appear as if syncing has stopped working. Often this is just iCloud being slow.

A few more things to try …

Recent versions of iOS seem to prevent iCloud copies from working if your device is low on power. On the iPhone there is a low power mode in the battery settings, you might want to turn this off. Note there doesn’t seem to be an equivalent option on the iPad, however copies definitely don’t happen if you are low on power.

Try disabling and re-enabling access to iCloud for my app. This is done in the main Settings app, under your iCloud settings.

If all else fails, try to reboot/restart you device(s) as this often fixes bugs in iOS.

Alternatives to iCloud

In August 2014 I added support for Dropbox, mainly to allow users with different iTunes accounts to exchange and share data. And because I am directly copying files to and from Dropbox myself, it is not only a lot faster but it is more reliable too.

The only drawback with Dropbox is that they charge you to use more than 3 devices.