The iOS Gateway application is a free utility to connect Eggplant Functional with iOS devices. It lets you control any iOS device running iOS 7, iOS 8, iOS 9, iOS 10, or iOS 11. You can also use iOS Gateway to automate Apple TV (4th generation).
How iOS Gateway Works
The iOS Gateway works as a VNC server (from the IP address of the Mac where it is running). When you connect to that Mac from Eggplant Functional, you can see and control your iOS device.
The Mac where iOS Gateway is running does not need to be the same machine as where you have Eggplant Functional installed. However, the iOS device must be connected by USB to the Mac where iOS Gateway is installed. The diagram below shows a basic network architecture for using iOS Gateway:
The table below outlines the minimum requirements for testing versions 9 and later of iOS using iOS Gateway and other Eggplant products. For information about testing iOS 7 and iOS 8, see Using iOS Gateway with iOS 7 and iOS 8.
In general, you need to run iOS Gateway on the latest version of the Mac OS to test devices running the latest version of iOS.
|iOS||Minimum Mac OS||Minimum Xcode|
|iOS 9||10.10.4||Xcode 7.0|
|iOS 9.1||10.10.5||Xcode 7.1|
|iOS 9.2||10.10.5||Xcode 7.2|
|iOS 9.3||10.11||Xcode 7.3.1|
|iOS 10||10.11.5||Xcode 8|
|iOS 11.2||10.12.6||Xcode 9.2|
Starting with iOS Gateway 4.3, you can use the Diagnostics tab to check whether the active version of Xcode on your Mac is compatible with the version of iOS on the device you want to test.
If you're testing devices with older versions of iOS, you might need to have more than one version of Xcode installed on your Mac. You can have several versions of Xcode installed at once, but only one active version.
To change the active version of Xcode, follow these steps:
- Open Xcode.
- Go to Xcode > Preferences > Locations.
- From the Command Line Tools drop-down menu, choose the version of Xcode you want to be active.
- Enter an administrator password when prompted.
- Close Xcode.
iOS Gateway Setup
First, download and install iOS Gateway. You must have an Apple Developer ID to use iOS Gateway to test iOS devices.
- Open iOS Gateway. Go to iOSGateway > Preferences and select the Provisioning tab.
- Select Automatically create/select provisioning profile. Enter the Apple Developer ID and password associated with your Apple developer certificate. This option is recommended for users new to iOS Gateway. Note: If your Apple Developer ID allows you to disable two-factor authentication, we recommend doing so for automation with iOS Gateway. Two-factor authentication is supported in iOS Gateway, but it can interfere with unmonitored testing by occasionally prompting you to enter authentication information. Go to the Account menu to manually log in or log out.
- Create the signing certificate and provisioning profile on the Apple Developer portal. Download them both to your Mac.
- In the General tab, manually select a profile from the Profile drop-down list. iOS Gateway automatically shows all profiles saved in the default location. Note: The default profile location is ~/Library/MobileDevice/Provisioning Profiles.
Mobile WebDriver for iOS
You can perform object-based WebDriver testing on iOS devices using iOS Gateway and WebDriver commands and functions in Eggplant Functional. Mobile WebDriver testing requires iOS Gateway 5.1.2 and later and Eggplant Functional 18.1.2 and later.
Your testing devices must be prepared for development use. You can find this information, as well as installation instructions, in Setting Up iOS Testing.
Lastly, you need to be set up to sign apps for development use. This is an Apple requirement. Learn more in Signing Apps for Use with iOS Gateway.