Skip to main content

The iOS Gateway Diagnostics Tab

Testing on mobile devices has many challenges, especially when you're working with iOS. The Diagnostics tab in the iOS Gateway mobile VNC server application helps you troubleshoot signing, Xcode, provisioning, and compatibility problems that can affect testing in Eggplant Functional. You must have an iOS device connected to your Mac via USB to run diagnostics.

Diagnostics tab

Run and Interpret the Tests

In iOS Gateway, select the Diagnostics tab and click Run Checks. The iOS Gateway application runs a series of checks for compatibility, and displays statuses for each:

Diagnostics tab good result icon Good: The conditions for the test have been satisfied.

Warning icon for Diagnostics tab Warning: The diagnostic test found a problem, but you should still be able to automate the iOS device.

Error status icon in Diagnostics tab Error: The diagnostic test failed, and you must take action before you can automate the iOS device.

The Overall Status of the diagnostics returns the most problematic test result; that is, if any one test returns Warning, the Overall Status is Warning. If any one test returns Error, the Overall Status is Error.

In addition to displaying the results in the user interface, iOS Gateway also creates a log file. Note that each run of the diagnostics overwrites this log file, so if you want to save the results of a run, click Save Results. You also can send the results of the diagnostic checks to Eggplant support by clicking Submit Diagnostics.

tip

If the Diagnostics tab is blank when you open it, try deselecting the device in the Devices/Simulators panel at the left side of the iOS Gateway UI. Then reselect the device.

The diagnostic checks are:

Check whether Device is Running a beta Version of iOS

What it checks: Determines whether or not the version of iOS on the device is a beta version.

Results: Shows the version of iOS installed on the device, and if it's a production build or a beta build.

Check for Installed Xcode Versions

What it checks: Verifies that Xcode is installed on your Mac.

Results: Lists instances of Xcode on your Mac, with the path to and version number for each. Also lists the build number and indicates which version of Xcode is active.

Troubleshooting: To install the newest version of Xcode, go to the Apple menu > App Store and search for Xcode. If you need a previous version of Xcode, go to the Apple Developer website, log in, go to Downloads > See more downloads, then search for the version that you need.

Check for selected Xcode command line tools

What it checks: Checks to see if you have command line tools active in Xcode.

Results: Lists whether or not you have Xcode command line tools selected.

Troubleshooting: To select command line tools, open Xcode. From the Xcode menu, go to Preferences > Locations > Command Line Tools.

Check Active Xcode Version for Selected iOS Device

What it checks: Compares the active version of Xcode with the version of iOS on the currently selected device to ensure that they're compatible.

Results: If Xcode and iOS versions are incompatible, tells you which version of Xcode you need to automate that device.

Troubleshooting: If you have the correct version of Xcode installed on your Mac, activate it. To install the newest version of Xcode, go to the Apple menu > App Store and search for Xcode. If you need a previous version of Xcode, go to the Apple Developer website, log in, go to Downloads > See more downloads, then search for the version that you need.

Please ensure that your Xcode version is compatible with your iOS version. See the Apple Compatibility Matrix for details.

Check for Apple-Generated Signing Certificate

What it checks: Checks to see if an Apple signing certificate is installed in the local Keychain.

Results: Lists any developer certificates found on your Mac.

Troubleshooting: Create a developer certificate if you don't have one or if yours has expired.

Check Certificates for Private Keys

What it checks: Checks for private keys in any Apple developer accounts found on the Mac.

Results: Lists developer accounts and whether or not those accounts have private keys.

Troubleshooting: Create a developer certificate if you don't have one or if yours has expired.

Check Certificate Dates

What it checks: Checks that developer certificates are within their valid date ranges.

Results: Lists available developer certificates and their valid dates, with Valid: YES or Valid: NO. If any of the certificates on your Mac have expired, this check will show Warning status.

Troubleshooting: Create a developer certificate if you don't have one or if yours has expired.

Check Available Provisioning Profiles

What it checks: Checks the valid dates of your available provisioning profiles.

Results: Lists available provisioning profiles and their valid dates, with Valid: YES or Valid: NO. If any of the profiles on your Mac have expired, this check will show Warning status.

Troubleshooting: Create a provisioning profile if you don't have one or if yours has expired.

Check Provisioning Profiles for Apple Developer Certificates

What it checks: Checks local provisioning profiles for local valid Apple developer certificates.

Results: Lists available provisioning profiles and their Apple developer certificates.

Troubleshooting: Make sure you have a developer certificate and that it's installed in your Keychain.

Check Provisioning Profile for Validity with Device

What it checks: Checks local provisioning profiles to see if the selected iOS device is associated.

Results: If the selected device is included in an available provisioning profile, returns "Provisioning profile profile_name is valid for device_name." If the selected device is not included in an available provisioning profile, returns "No provisioning profile found with device_name."

Troubleshooting: Create a provisioning profile if you don't have one or if yours has expired.

What it checks: Checks the active provisioning profile for the App ID com.testplant.*, which is recommended when testing with iOS Gateway.

Results: If the selected provisioning profile contains com.testplant.*, returns Success. If the selected provisioning profile doesn't have the recommended App ID associated with it, returns Warning. If no provisioning profile is selected, returns Error.

Troubleshooting: If Warning status, add com.testplant.* to the provisioning profile. If Error, make sure you have a provisioning profile selected.