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 latest Digitise Apps versions.
If you want to upgrade existing pre-configured Digitise Apps Clients, Digitise Apps Standalone Apps, pre-configured MX Clients and/or MX Standalone Apps on Apple devices, you will first need to install, or upgrade to, the latest version of Digitise Apps on a development PC. You can then use the new App Studio on this machine to regenerate a version of the latest Digitise Apps Client and/or version(s) of the required Standalone App(s).
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 and MX apps for the Apple Platform will generally work with the latest Digitise Apps Clients and App Server without any modification. This means that after upgrading, you should be able to continue to run existing versions of a Client, together with it's existing apps, and existing Standalone Apps in conjunction with the latest version of the App Server.
You may also be able to do the reverse, i.e. to run apps created with the latest version of Digitise Apps with earlier versions of the App Server, providing that the apps don't contain newer features, introduced since the version of the App Server you are using, that are incompatible with your version of App Server. In addition, if you have an app which was created using MX or Digitise Apps from v10 onwards, you may also be able to run that app using a different version of the Client than that supplied with the product version in which the app was created, e.g., to run a v10.9 Digitise app in a v10.4 MX Client, providing, once again, that the app doesn't include any features which are backwardly incompatible with the version of the Client you are using.
If you are upgrading from a version of Digitise Apps' predecessor, MX, please note the following potential issue when running pre-existing MX apps with a Digitise Apps Client:
-
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. 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.
Read the information under Edit Existing apps After Upgrading below for further details about compatibility issues which might arise after upgrading.
As always, when upgrading, we strongly advise you to test all apps in a test environment before you upgrade live systems and users, especially if you want to mix and match components from different versions of the product.
After upgrading your development PCs to the latest version of Digitise Apps, existing Digitise and MX apps can be edited in the latest App Studio as before. Simply open the app in App Studio in the usual way.
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 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. This 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 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 changed the way dates are stored in the local database on Apple devices to use ‘-’ as the separator instead of ‘/’. This was in response to issues when attempting to perform date comparisons in SQL statements and other potential problems.
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.
-
See also:
Upgrade to the Latest Version of Digitise Apps
Upgrade an Existing Version of Digitise Apps