This article explains how to use the iOS Service App to support start/stop functionality in Ranorex Studio and how to prepare your iOS app so that this functionality works correctly.
Before you begin
To use start/stop functionality via USB or Wi-Fi, make sure that:
- RxServiceApp is installed on the device
- RxServiceApp is currently running on the device
The app is available in the Ranorex installation folder. For more information, see Install RxServiceApp, RxBrowser, and RxMiniKeePass.
Prepare your iOS app for start/stop functionality
If the app is instrumented manually, register a custom URL scheme so that starting and stopping the app works correctly.
Register the custom URL scheme in Xcode
The following steps are based on Xcode 6.
- Open your project in Xcode.
- Select your project in the project navigation area.
- Open the Info tab.
-
Expand URL Types. Click the + icon to add a new URL type
- Enter the identifier as the application bundle identifier, the URL scheme as ranorex. followed by the identifier.
For example, if the application identifier is:com.demoapp. The URL scheme is:ranorex.com.demoapp
If the app is instrumented with Ranorex Studio on the Windows machine, the correct URL scheme is set automatically.
First start after deployment
After instrumenting and deploying the app for the first time, start the app manually once.
The newly instrumented and deployed app must be started the first time manually so that it is registered in the RxServiceApp.
Limitations and important behavior
Due to restrictions in the Apple API, the instrumented IPA may not be able to run from Ranorex Studio while the RxServiceApp is in the background.
It is recommended to perform testing while the instrumented IPA is in the foreground.
Using a device without the iOS Service App
You can add a device without the iOS Service App.
To do this, make sure that:
- An instrumented app is installed on the device
- The app is running and active on the device
If you want to create an automated test on an instrumented app that has no URL scheme, make sure that:
- RxServiceApp is not installed on the device
- The app under test is active on the device