iOS Devices
The Eggplant Gateway for iOS runs on Windows, Linux and macOS machines and supports testing on real, physical iOS devices over Wi-Fi and USB.
Supported iOS versions:
- The Eggplant Gateway for iOS does support all major iOS versions (except any version between 17 and 17.3) on Windows, Linux and MacOS.
Getting started
Before you can use the Eggplant Gateway for iOS, you'll need to:
-
Have access to an iOS Provisioning Profile which allows you to sign iOS applications and run iOS applications signed with your developer certificate on your devices.
-
Have a copy of the relevant Developer Disk images on your local machine
- For iOS 16 and before devices
- On a Mac machine, make sure the latest version of Xcode is installed.
- When Xcode is installed you can use the default
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport
folder as developerDiskLocation.
- When Xcode is installed you can use the default
- On Windows or linux you need to copy the appropriate developer disks from a MacOS pc with Xcode installed.
- Navigate to the
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport
folder on a MacOS pc. - Create a zip archive that contains the contents of this folder.
- Copy this zip archive to your Windows or linux PC and unzip it.
- Navigate to the
- On a Mac machine, make sure the latest version of Xcode is installed.
- For iOS 17.4 and later devices
- (on Linux) Open a shell and run
sudo apt install net-tools
- The developer disks are mounted automatically, this requires internet connection. Eggplant Gateway automatically fetches the personalized developer disk.
- (on Linux) Open a shell and run
- For iOS 16 and before devices
Enabling automation on your iOS device
- Establish trust between your PC and your device.
- Connect your iOS device to your PC using an USB cable.
- The pop-up Trust this Device will appear on your iOS device, click Trust. It can take up to one minute for your iOS device and your machine to initiate the pairing process.
- Enable developer mode on your device (iOS 16 and later).
- In the Settings app on your iOS device select Privacy & Security then scroll down and tap Developer Mode.
- Turn on the Developer Mode toggle at the top.
- A prompt will appear at the bottom asking you to reboot your iOS device for enabling the feature. Tap Restart to proceed. Your iOS device will now reboot.
- Once the device is restarted and unlocked, a prompt should appear on the screen asking you whether you wish to turn on Developer Mode on your device. Tap Turn On. When you do that, iOS will enable Developer Mode on your iOS device and you should be able to connect .
Creating a connection
To create an Eggplant Gateway for iOS connection, run the following command:
epgw add ios
--name <name> (REQUIRED)
--udid <udid>
--provisioningProfile <path> (REQUIRED)
--developerCertificate <path> (REQUIRED)
--developerCertificatePassword <password> (REQUIRED)
--developerDiskLocation <path> (iOS17.4 or later devices with compulsory internet connection omit this option)
For example for iOS 16 or earlier devices,
epgw add ios --name ios --provisioningProfile "C:\" --developerCertificate "C:\" --developerCertificatePassword "****" --developerDiskLocation "C:\"
Or iOS 17.4 or later devices,
The available options are:
Key | Description |
---|---|
name | The connection name |
udid | The UDID of the device on which to run the Xcode UI Test. You can omit this parameter if exactly one iOS device is connected to your computer. |
provisioningProfile | The path to the provisioning profile to use when installing WebDriverAgent. |
developerCertificate | The path to the developer certificate to use to resign WebDriverAgent. |
developerCertificatePassword | The password to use to retrieve the private key of the developer certificate. |
developerDiskLocation | The path to the directory which stores the Developer Disks images. iOS17.4 or later devices with compulsory internet connection omit this option. |
help | Show help and usage information |
Start a connection
Open a new terminal window and run epgw vnc <name>
, where name is the name of your Gateway connection. For example, epgw vnc ios
.
- The Eggplant Gateway will start:
- A VNC server at port 5900
- A WebDriver server at port 5000
Known issues
-
Currently we do support a limited set of VNC extensions. To have a full overview please refer to the Supported SenseTalk Commands
-
We experienced in rare occasions tiny lines on the screen or a blinking SUT window
Connecting to Eggplant Functional
Start Eggplant Functional and manually add your device to the connection list.