TouchControl for iOS Release Notes

Version 11


Add widgets that launch TouchControl to a specified activity and optionally execute a button on launch.

You can now add TouchControl widgets to your iOS home screen.  See the Widgets page for more information.  iOS 14+ required.

New _connectable() script function.

Use the _connectable() script function to test the availability of a specific port on a device on your network.  This can be useful, for example, if a device will respond to a PING even though it is technically "off", but a specific port will be unavailable until the device is turned "on".  Use the function as follows:

var result = _connectable('', 5000);

if (result) {

    // port is available

    // your code here...

} else {

    // port is unavailable

    // your code here...


_connectable() will return true if connection was successful, or false if it was not.  No timeout is applied by default.  To set a timeout, use:


_connectable('', 5000, 1);

_connectable('', 5000, 3);



The timeout value is always in full seconds.  With a timeout set, if the device responds immediately, the function will return immediately and not wait for the timeout.  There is no server update required for this feature.

Improved Apple Watch Siri shortcut support.

Executing TouchControl Siri shortcuts on Apple Watch will now open TouchControl on the watch (if installed) to execute the shortcut, rather than opening TouchControl on the phone.  The shortcut buttons still ultimately get executed in TouchControl on the phone (just like any button executed from the TouchControl watch app), but they can now be executed when the phone is locked.

Bug fixes.

Version 10.7 - 10.7.2


New network "ping" feature. Test if devices or services are available on your network using ping (ICMP request/response) via button script.

You can now "ping" IP addresses or hostnames directly from TouchControl button script, allowing you to determine if a network-attached device or service is available (powered on, etc.) before you send a command.  This can be very useful, as an example, for devices that use a toggle power command, so you can determine ahead of time whether to send an on/off command, and avoid possibly getting your device out of sync with other devices in your environment.  Use the following command in your script to execute a ping:

result = _ping('address'timeout)

  • address (string - required): The destination IP address or hostname (a specific port should not be included).  

  • timeout (integer - optional): The number of whole seconds the ping process will wait for a response from the device/service. If timeout is omitted, the default timeout will be 2 seconds.  Partial seconds are not supported.

  • result (boolean): True or false indicating whether or not the device/service returned a valid response to the ping within the timeout period.

Example 1:  

var pingResult = _ping('', 1)

if (pingResult) {

    // device is on

    // your code here...

} else {

    // device is off

    // your code here...


Example 2:

if (!_ping('')) {

    // device is off

    // your code here...


Bug fixes.

Version 10.6 - 10.6.1

Supports custom button background colors.

TouchControl Server (macOS and Windows) can now set custom button background colors when using a hot-spot button (no image), in addition to the built-in set of color choices already available.

Bug fixes.

Version 10.5.3

Support for HTTP Request buttons with password-only basic authentication

If you have a device or service that you control with HTTP Request buttons that requires only a password for authentication (no user ID), you can set only a password in the Authentication section of the HTTP Request interface host in TouchControl Server's Interface Manager, leaving the user ID blank.  Or, if using the HTTPAuth button property, you can set only a password by setting the property value to ":mypassword" (that's a colon followed by the desired password - basically leaving the user ID blank which would normally precede the colon).

Automatically restart timer buttons after app resumes from sleep/background

Timer buttons will now automatically restart when TouchControl is resumed from the background or the device is awakened with TouchControl in the foreground.  If you currently use an auto-exec on resume button to restart your timers, you should now be able to remove that.

Version 10.5 - 10.5.2

Maintain device connections when moving between activities

Previously when linking from one activity to another, existing socket connections were closed and re-opened in the new activity after executing a button that used them.  Now socket connections used for EventTrigger, Global Caché, iRTrans, and Command buttons will remain open which should result in faster response when using the connections in the subsequent activities.  Feedback Client connections are also re-opened faster if used in linked-to activities, or when returning to a previous activity where they were used.

Improved performance and stability


Updated app icon


Minimum required iOS version is now 9.3

Update XML parsing to support namespaces

Previous recent versions of TouchControl were unable to parse XML that contained namespaces using the built-in _xmlParser object.  That should now work.


Bug fixes

Version 10.4.2 - 10.4.5

Bug fixes

Version 10.4 - 10.4.1

Updated Internal HTTP Request functionality

Replaced older HTTP functionality with more modern, fully supported, native Apple technologies.

Bug fixes

Version 10.3

New Internal Web View component and Javascript engine

Due to Apple discontinuing support for the web view and Javascript technologies used in prior versions of TouchControl, those have now been replaced with Apple's updated technologies.

Bug fixes

Version 10 - 10.2

Support for Siri Shortcuts

TouchControl now integrates with Siri.  See this page for more information.

Bug fixes

Version 9.10

New Gesture Pad Double-Tap feature

You can now set a gesture pad's tap gesture to require a double-tap instead.  This can be useful if you have a gesture pad that had multiple gestures defined, and you find that it registers a tap when attempting to swipe, or it registers random taps when just resting your finger on the screen.


New Force LAN setting

A new option is now available in TouchControl Network Settings that allows you to "Force LAN", which always uses the LAN server and interface host addresses, regardless of the type of network you are connected to.  This is useful when you are connected to a cellular network, but are using a VPN to access your local network.

Bug fixes

Versions 9.9.3

New Auto-Exec on Appear Buttons

You can now set a button to auto-execute whenever an activity appears.  This includes immediately after the initial load (and after any auto-exec on load button executes), as well as any time you navigate away from an activity via a link button, and then return to the activity via normal back navigation or a [back] link button.  This is useful if there is a command or script that you want to execute any time an activity appears.  Prior to this feature, you would need to turn off the "retain history" setting on your link buttons and always use link buttons (vs. back navigation) whenever navigating from one activity to another to force the auto-exec on load to fire each time an activity appeared.  You can now retain history (the default) on your link buttons and use normal forward and back navigation and always be ensured that your on-appear buttons will execute when the activity appears.  If using this feature, make sure that you include in an auto-exec on load button only a command or code that you want to execute once in the lifetime of an activity, and put any command or code that is okay to run multiple times in your on-appear button.  As previously, the same button can be set as on-load, on-resume, on-exit, and on-appear (or any combination of those) if you wish.

Note that an on-appear button will not execute when the app is resumed from the background and the activity is already the visible activity.  Use the existing auto-exec on resume button for this purpose.  

Bug fixes & stability improvements

Versions 9.9.1 - 9.9.2

Bug fixes and stability improvements

Versions 9.9

New "Zoom to Width" feature

In addition to the "Scale to fit" feature, you can now configure activities to "Zoom to Width" in the server designer, which causes activities to scale to the width of the device they are running on, and proportionately scales the height as well, which effectively "zooms" the activity to the size of the device (based on device width).  Your activity background image will always fill the entire screen, and the activity may scroll vertically if the zoom process results in an activity that is taller than the device's screen.  This is useful when using the same activities on multiple devices with different screen dimensions.

Bug fixes

Versions 9.8.7 - 9.8.10

Bug fixes and stability improvements

Version 9.8.6

New TextFont and TextAlign properties for button types that display text

Use the new TextFont and TextAlign built-in properties for all button types that display text to set custom fonts, sizes, and control alignment of text displayed within the button.  Any iOS font can be used (here's one site that lists them).  See "Built-In Button Properties" in the instructions for more information.

Web view streams (e.g. mjpeg) no longer continue to load when the app is in the background or the device is locked

Saves network bandwidth and battery life.

Support for setting text size and text color for spinner buttons

Uses normal right-click text menu option in layout designer.

Manage iCloud script variables in Script Settings

View variables currently stored in iCloud and optionally remove them from iCloud.

Bug fixes and stability improvements

Version 9.8

New "Global Watcher" feature

“Global Watchers” allow buttons, labels, sliders and spinners to automatically update their displayed text, images or values based on the current value of _global variables set by any of your scripts. See TouchControl instructions for more information. 

New "Feedback Slicing" scripting feature

A new feedback script flag allows you to control what feedback data generated by your devices is presented to your feedback script. Similar to the [term] and [len] script tags which determine how much feedback is expected from your device, the new [slice] tag allows you to parse the feedback and only return a desired “slice” of the feedback to your script.  See TouchControl instructions for more information.

Bug fixes

Version 9.7

Updates for iOS 11

Version 9.6.1

New CornerRadius button property

You can now set a custom corner radius for rounded hot-spot buttons in the server designer.  See the release notes for the macOS and Windows servers for more information.

This feature is useful for hot-spot buttons that you have set a background color or translucency for.  Rounding the corners of transparent hot-spot buttons is possible, but provides no added visual effect.  Corner radius is not available for buttons that use a background image.

Version 9.6

Offline Config feature sunset

The "Offline Config" feature has been sunset and is no longer available.  Please make sure your TouchControl network settings are updated to use an online TouchControl server.

Haptic Feedback

Button vibrations now use haptic feedback on the iPhone 7 & iPhone 7+.  Give it a try - go to TouchControl Settings - Sound & Vibration, select "Vibrate", and then select "Use haptics."

Other minor updates and fixes

Version 9.5

New visual themes

You can now change the look of TouchControl by selecting a theme in app settings.  Select from Translucent Dark, Translucent Light, or Classic (original).

Add translucency to your own buttons.

When adding a hotspot button, you can now select Translucent Dark, Light, or ExtraLight as the button background color in TouchControl Server.  Requires Windows server version 9.3.6 or higher, or macOS server version 1.3.3 or higher.

The stretch to full app setting has been sunset and is no longer available.

The "scale to fit" activity setting in TouchControl Server should now be used for any activity that should fill the screen on any size device.  

The TouchFlow interface app setting has been sunset and is no longer available.

Use the "Location Overview" or "Classic" layout instead.  

Note that the "Offline Config" feature will be sunset in an upcoming release in 2017.

Other bug fixes and improvements.

Version 9.4

TouchControl Apple Watch complication.

Now you can launch TouchControl right from your watch face.  Just follow these directions to modify your favorite watch face and add the TouchControl complication.


Ability to set a default activity for Apple Watch.

The TouchControl watch app can now automatically open a specified activity whenever you launch it from the app screen, from the dock, or from the new complication.  Access settings in TouchControl on your iOS device, select "Apple Watch" under the "Tools" section, tap on the "Default Activity" setting, and select an activity to launch automatically.  All of your other watch activities will still be available by navigating back to the main activity list on the watch.  Remember to refresh your config after updating this option to send the new setting to your watch.


Fix for watch activity labels.

Some labels may have displayed "(null)" on the watch.  This should now be fixed to display the correct label text.

© 2010-2020 Touch App Technologies, LLC