iOS support updates

Learn which iOS versions Perfecto supports, along with any restrictions or limitations that apply.

Important: When working with any beta version of major OS versions, especially but not only developer betas that are not available as public betas, any testing done on the device may be affected by instabilities and bugs on the OS level. If you are interested in testing a beta version, contact Perfecto Support or your Customer Success Manager. Consider limiting beta testing to 1-2 devices.

Restrictions

  • For apps built with XCode versions earlier than 12.1 running on iPhone 12, you may not get correct data if you use element.getRect() to retrieve the location and size of an element. This issue seems to occur because XCUITest APIs in XCode versions prior to 12.1 do not support the resolution of iPhone 12.

  • iOS 16.4 and later supports a new WebView property called isInspectable. By default, this property is set to false. Unless you explicitly enable this property, apps containing a WkWebView will not allow content to be inspected in local Safari or in Appium. To work with WebViews in Appium, you need to ask your developers to enable this property.

    To learn more about the isInspectable property, see Apple's article Enabling inspecting content in your apps.

Versions and limitations

iOS/iPadOS version Support terms and limitations

18.2 Beta 3, 18.1.1 GA, 18.0.1 GA

If you are interested in having iOS 18 devices connected in your cloud, contact Perfecto Support.

Important: To avoid test disruption in hybrid clouds after upgrading devices to iOS 18, on the device, under Settings > General > Airdrop, make sure that the Bringing Devices Together toggle is turned off.

Limitations

  • Versions 18.1 and later are only available for Apple Intelligence-compatible devices: iPhone 15 Pro, iPhone 15 Pro Max, and iPads with M1+ SoCs (system-on-a-chip).

  • Due to an Apple bug, Wi-Fi-only iPad devices running iOS 18.1 or later cannot resolve the location.

  • Selecting to trust an application that is not trusted causes the device to restart. To work with enterprise-signed applications without having to re-sign them, make sure an app with a trusted signature (with the same certificate) is already installed on the device.

    If you need to re-sign an app, it may not be able to use shared keychains or use features that require special entitlements.

    To install a new certificate on a device, contact Perfecto Support.

  • 18.0 GA does not currently support IP geolocation testing. This limitation will be resolved in Perfecto version 24.12.

  • Support for devices running iOS 15 or later that are configured with a passcode is still dependent on a solution that needs to be enabled for your cloud to overcome an Apple limitation. For assistance, contact your Perfecto representative or Perfecto Support .

17.7.2 GA, 17.7 GA, 17.6.1 GA, 17.6 GA, 17.5.1 GA, 17.4.1 GA, 17.3.1 GA, 17.3 GA, 17.2.1 GA, 17.2 GA, 17.1.1 GA, 17.0.3 GA

Limitations for iOS 16.x versions still apply, except for the following issue that is resolved in iOS 17.0 and later: 

  • An Apple bug prevented Perfecto Object Spy from supporting SafariViewController-based applications on a device and Appium scripts from detecting an application's web context if the web content was displayed using SFSafariViewController.

Support for devices running iOS 15 or later that are configured with a passcode is still dependent on a solution that needs to be enabled for your cloud to overcome an Apple limitation. For assistance, contact your Perfecto representative or Perfecto Support .

Important: To avoid test disruption in hybrid clouds after upgrading devices to iOS 17, on the device, under Settings > General > Airdrop, make sure that the Bringing Devices Together toggle is turned off.

Requirements

  • Connecting iOS devices requires HSS version 23.11 and an IDS with macOS Ventura and Xcode 15.

  • For automation testing, iOS 17 devices require Appium 1.22.3 or later.

Known issues

(Fixed by Apple in iOS 17.6 GA) On devices running iOS 17.4 or later, after you clear browsing data or close all tabs in Safari, attempting to automate Safari may fail due to web contexts being unavailable. Apple has been notified of this issue.

Workaround:

After clearing browsing data or closing all tabs in Safari, run the following:

Copy
Map<String, Object> params = new HashMap<>();
params.put("bundleId", "com.apple.mobilesafari");
driver.executeScript("mobile: launchApp", params);
driver.executeScript("mobile: terminateApp", params);
     

16.7.10 GA, 16.7.8 GA, 16.7.7 GA, 16.7. 6 GA, 16.7.5 GA, 16.7.4 GA, 16.7.2 GA, 16.6.1 GA, 16.5.1 GA, 16.5 GA, 16.4.1 GA, 16.4 GA, 16.3.1 GA, 16.3 GA, 16.2 GA, 16.1.2 GA, 16.0.3 GA

16.7.8 GA is only intended for older devices that do not support iOS 17.

Limitation for iOS versions 16.4 and later (fixed in versions 17.0 and later):

  • Due to an Apple bug, Perfecto Object Spy does not support SafariViewController-based applications on a device and Appium scripts cannot detect an application's web context if the web content is displayed using SFSafariViewControler.

Limitations carried over from iOS 15:

  • Support for devices running iOS 15 or later that are configured with a passcode is still dependent on a solution that needs to be enabled for your cloud to overcome an Apple limitation. For assistance, contact your Perfecto representative or Perfecto Support .

  • Devices running iOS 15 GA and later use Appium 1.20, with the Appium limitations listed in the Appium upgrade notice in our 21.6 release notes.

  • The capability wdaEventloopIdleDelay sometimes crashes due to an Apple limitation. If possible, avoid using it for now.

15.8.3 GA, 15.8.2 GA, 15.8.1 GA, 15.8 GA, 15.7.9 GA, 15.7.5 GA, 15.7.3 GA, 15.7.2 GA, 15.7.1 GA, 15.6.1 GA, 15.5 GA, 15.4.1 GA, 15.3.1 GA, 15.2.1 GA, 15.1.1 GA

Available in all clouds.

Versions 15.8 GA and later are intended for devices in the iPhone 7 series only.

The following limitations apply:

  • Support for devices running iOS 15 or later that are configured with a passcode is still dependent on a solution that needs to be enabled for your cloud to overcome an Apple limitation. For assistance, contact your Perfecto representative or Perfecto Support .

  • Devices running iOS 15 GA and later use Appium 1.20, with the Appium limitations listed in the Appium upgrade notice in our 21.6 release notes.

  • The capability wdaEventloopIdleDelay sometimes crashes due to an Apple limitation. If possible, avoid using it for now.

  • iOS 15.3 and earlier only: On incoming calls, a blurred image displays instead of a call screen (only relevant for IDS fast video) when recording from a connected PC. This issue is related to a limitation around Apple’s QuickTime implementation.

    To resolve this issue on devices connected to HSS or IDS, make sure the device uses the latest XCT template. If audio is needed, it must work with a Bluetooth server or analog audio.

15.0.1 GA

Available in all clouds.

Support for devices running iOS 15 or later that are configured with a passcode is still dependent on a solution that needs to be enabled for your cloud to overcome an Apple limitation. For assistance, contact your Perfecto representative or Perfecto Support .

The following limitations apply:

  • Devices running iOS 15 GA use Appium 1.20, with the Appium limitations listed in the Appium upgrade notice in our 21.6 release notes.

  • The capability wdaEventloopIdleDelay sometimes crashes due to an Apple limitation. If possible, avoid using it for now.

  • Typing text is slow and sometimes fails on timeout. This is an Apple limitation. The behavior is not related to string length and is the same on pure Appium.

  • On incoming calls, a blurred image displays instead of a call screen (only relevant for IDS fast video) when recording from a connected PC. This issue is related to a limitation around Apple’s QuickTime implementation.

    To resolve this issue on devices connected to HSS or IDS, make sure the device uses the latest XCT template. If audio is needed, it must work with a Bluetooth server or analog audio.

14.8.1 GA

Fully supported.  

14.7.1 GA, 14.6 GA

Supported in alignment with Appium 1.17.

The following Apple limitation applies:

  • Connecting to an application webview crashes the application, even when accessed through the Safari developer menu.

The limitations of iOS 13 versions still apply.  

14.5.1 GA

Available for Appium scripts and UI live testing.

Supported in alignment with Appium 1.17.

The following Apple limitation applies:

  • Connecting to an application webview crashes the application, even when accessed through the Safari developer menu.

The limitations of iOS 13 versions still apply.

14.4.2 GA, 14.3 GA

Supported in alignment with Appium 1.17. The limitations of iOS 13 versions still apply.

14.2.1 GA

Supported for iPhone 12 only and in alignment with Appium 1.17. The limitations of iOS 13 versions still apply. 

14.2 GA, 14.1 GA

Supported in alignment with Appium 1.17. The limitations of iOS 13 versions still apply. 

13.7 GA

Supported in alignment with Appium 1.17. The limitations of previous iOS 13 versions still apply.

13.6 and 13.6.1 GA

Supported in alignment with Appium 1.17. The limitations of previous iOS 13 versions still apply.

13.5 and 13.5.1 GA

Supported in alignment with Appium 1.17. The limitations of previous iOS 13 versions still apply.

13.4 GA

Supported in alignment with Appium 1.17. The limitations of previous iOS 13 versions still apply.

13 to 13.3 GA,
13.3.1 GA

  • Touch & MultiTouch Actions executed by coordinates may not be performed on specific device models when the app has been compiled with an old Xcode version (below 10).
  • On iPad devices running iOS 13.1.x, opening a keyboard from a text field causes incorrect dimensions of the root element to be returned when retrieving objects. This, in turn, causes objects in the Object Spy to display incorrectly when the device is in landscape mode. This issue affects the application even after the keyboard is closed. For objects to display correctly again, you must close the application using the Close app button and relaunch it.
  • On new devices running iOS 13, applications built with older Xcode versions may return incorrect objects coordinates.

For information on working with privacy popups on iOS 13 devices, see iOS 13 | Handle privacy pop-ups.

12.5.7 GA, 12.5.6 GA, 12.5.5 GA

Fully supported.

11

An Apple limitation related to the element tap API applies when a device is in landscape mode and an element on the right side of the screen is pressed. In this scenario, the hittable property returns correct values, but element.click() does not work on the respective element.