Upgrade Apple Devices
-
Whilst all new versions of our software are given extensive testing, every live environment is potentially different. It is therefore important that you test any existing Solutions with a new version in a test environment BEFORE you upgrade your live systems.
This topic provides information about upgrading existing versions of the Digitise Apps Client, Digitise apps, MX Client and MX apps on Apple devices to the new Digitise Apps versions.
If you want to upgrade existing pre-configured Digitise Apps Clients, Digitise Apps Standalone Apps, MX Clients or MX Standalone Apps on Apple devices, you will first need to generate an updated Digitise Apps Client and/or Standalone App from within the latest App Studio supplied with the Digitise Apps software. You can then download and upgrade the Client or Standalone App to Apple devices in the same way as you would install new versions, see Install Clients and Standalone Apps on Apple Devices.
Existing Digitise apps or MX apps for the Apple Platform will generally work with the latest Digitise Apps Clients and App Server without needing any modification.
Existing Digitise apps can be edited in the latest App Studio as before.
If you want to edit an existing MX app, for example to add new features or fix bugs, you can do so in the latest Digitise Apps' App Studio. Simply open the app in App Studio. Before you do this, however, you need to be aware of the following points:
-
On the Apple Platform, the Device IDs, which identify devices to the App Server and are displayed in the App Manager utility, changed in MX v10.1. This means that if you are currently running a version of MX prior to v10.1 and you upgrade to Digitise Apps, your devices will be assigned new Device IDs after the upgrade and will not be recognised by the App Server as previously registered devices. In addition, the Device ID will also change if you move from sideloading an app to downloading it from the App Store.
Consequently, if you have restricted access to any of your MX apps using Device IDs for Apple devices you will need to reconfigure these restrictions using the new IDs. For more information about the change in Device IDs for Apple devices, see App Manager - the Device Category.
You can register a device by connecting to the App Server, but to do this you will need to set up your App Server to allow access to any device and then once any new devices have registered you can set up your restrictions again. Alternatively, you can manually register your devices as new devices and then configure the restrictions before the devices attempt to connect to the App Server. If you want to manually register a device, run up the Digitise Apps Client on the device and you can find its new Device ID by tapping the Settings button,
, on the Client’s Home screen and then tapping Device. Once you have connected all your devices and their new IDs have been registered with the App Server, you can delete the old IDs within the Device category in App Manager.
If you have used the GetDeviceID Scripting Method in any of your Scripts to check whether the Script is running on an iOS device, the value returned will also change to the new ID format. If you do anything with the returned DeviceID, you will need to check your Scripts and, if necessary, make any appropriate changes to allow for the new DeviceID returned.
In addition, the Device ID is now linked to your Apple developer program account, which means that pre-configured Digitise Apps Clients and Standalone Apps which are signed with Distribution Certificates from different Apple developer accounts will produce different Device IDs if run on the same device. Likewise, an app which is sideloaded to a device will have a different Device ID than the same app downloaded to the same device from the App Store.
-
If you are upgrading from MX v7.0 or earlier and you have used images within Ink Picture Controls, these will now be displayed at their actual size whereas previously they were auto-sized to fit the size of the Control. If you have any apps which have images displayed in Ink Picture Controls, you will need to check the display of the image after upgrading and adjust the app if necessary.
-
If you make changes to an existing app which was originally sideloaded onto devices and you want to upgrade it to a new version via the Apple App Store, you will need to uninstall the original app from your devices before downloading it from the app store, otherwise you may end up with two versions of the app on the devices.
-
If you are upgrading your MX software from version 8.0 or earlier there are some changes which can be implemented after installing the upgrade by editing various Properties in App Studio:
-
If you are upgrading from MX v7.0 or earlier, a later change could inadvertently affect the way numbers are dealt with in Data Sources when uploading data to a remote data source. This could result in numbers which were previously transferred as integers becoming floating point numbers. If this problem occurs after upgrading, you can use the SQL Type Override Property for affected data items to change the data type used to store the data in the local database on the device. This Property can be accessed by loading the affected app’s Project in App Studio, displaying the Data Sources Pane and selecting an affected data item. The Properties for the selected item will be displayed in the Properties Pane. Locate the SQL Type Override Property and try setting it to an integer data type.
-
v10 introduced support for Null values in variables and as parameters to various Methods. This means that Null (case-insensitive) is now a reserved word and cannot be used for variable or Function names.
A Property is provided in the Project Properties which allows you to retain the existing way of working in your legacy Projects: Enable Null Script Variables. By default, this Property will be set to False for legacy Projects which means that ‘Null’ will not be treated as a reserved word.
If you want to change your Project to use Nulls, simply change this Property to True.
In this case, if you have any variables etc. named ‘Null’, when your Scripts are verified the Syntax Checker will list them as errors in the Script Errors Pane and you will need to locate and rename any such items.
For new Projects, the default value for this Property is True.
-
The Date and Time Methods, e.g. DateAdd, DateDiff, Day, Hour etc., have been updated to provide consistency across Platforms. Most Methods are now available on the Apple Platform and work in the same way on all supported Platforms.
A new Property has been added to the Project properties to allow you to retain the previous method of working for these Methods: Use Cross-Platform Date Functions. By default, this Property will be set to False for legacy Projects which means that date functions will continue to work as they did.
If you want to change your Project to use the new date Methods, simply change this Property to True. For new Projects, the default value for this Property is True.
-
MX versions later than v8.0 have a Property allowing you to stop a Timer Control from running when the user moves off the form it is on. The new option is a Property of the Timer Control called Active on Parent Form Only. By default, this Property will be set to False for legacy Projects which means that Timers will continue to work as they did before and continue running when the form they are on is hidden. If you want to stop the Timer when the form is not the current form, set this Property to True. If set to True, the Timer will stop when you move off the form and continue if the form is redisplayed.
-
-
If you are upgrading your MX software from a version of MX prior to v6.1, note the following:
-
MX v6.1 introduced support for floating point division using the ‘/’ operator. Previously ‘/’ performed integer division only and so earlier apps may need to be modified to account for floating point numbers or to retain the previous method of working. To do this, load the app within App Studio and a message will be displayed asking if you want to retain the integer division functionality or change to floating point.
Choose Yes to move to floating point division or No to retain the previous method of working. You can also change between the two methods using the Floating Point Division Property in the Project Properties.
If you change to using floating point division, anywhere you have used the ‘/’ operator will now perform floating point division and you may need to edit your Scripts to allow for different results being returned by the operation. You can also modify your existing Scripts to retain integer division by editing the relevant Scripts and replacing the ‘/’ operator with the newer integer division operator: ‘\’, which will return an integer result as before.
-
MX v6.1 introduced a fix for iOS devices to store dates in the device’s local database using ‘-’ as the separator instead of ‘/’. This was causing problems for example when attempting to perform date comparisons in SQL statements.
After the upgrade existing apps may still hold dates in the previous format within the database and so we recommend that you drop any current table(s) and repopulate, if your apps don’t do so automatically.
This fix doesn’t affect the way dates are input, extracted or displayed within the Digitise Apps Client, only the way they are stored in the local database.
-
-
MX v10 included some changes to the operation of Combo Box Controls when using SetControlValue in order to make the operation of these Controls consistent across different Platforms. Differences in operation on Android devices have been retained to maintain backwards compatibility. However, if you are upgrading from MX v8 or earlier and use Combo Boxes with SetControlValue in any of your apps, we recommend that you test those apps after upgrading and check that your Combo Boxes work as expected.
See also:
Upgrade to the Latest Version of Digitise Apps