Dropbox is introducing a new version of its API, and the old version is due to be retired. The Android and iOS clients both used the old version, to download product images and to back up the database. Trying to upgrade to the new version has proved problematic:
On the Android client, we were able to upgrade the API, but we could not get it to work properly.
On the iOS client, the new API is implemented in Swift. Our code is written in Objective-C, and we cannot upgrade the API at all.
We decided to revert to using the SD card for storage:
Some devices have an internal SD card, as well as an external one.
Data is stored in the Vanguard folder.
On devices running Android 6.0 and above, the app was using the Download folder. This anomaly will be removed.
Version 5.6.0 will be uploaded later on today.
We will be using the iCloud for data storage. At the moment I am having trouble logging on using my developer account, but this should only be a temporary setback.
Originally, the only development language that Apple provided for iOS was a proprietary one called Objective-C. All apps, including the Sales app for iOS, were written in this language. A few years ago, Apple introduced a new language for iOS called Swift. Converting the entire app to Swift was not an option, so it was largely ignored.
The iOS app includes support for Dropbox, using the SDK for the then current API v1. Recently, Dropbox brought out API v2, and said that support for API v1 would cease on 6th June 2017. However, the SDK for API v1 only supports Swift, and not Objective-C. It suggests to use of various bridging tools, but this is not really a viable option.
Because of this, I have chosen to support another cloud platform instead, probably Google Drive. This will be added to the Android app in the first instance, and then carried across to iOS one. It is ironic that Google offers better support for iOS than Dropbox does, but that is the reality of the situation.
The name of the server used by the hosting service has changed, and so has its URL. The new name is used by Android version 5.4.0 and iOS version 6.2.0. The new Android release is available now, while the new iOS release is waiting for review.