Limitations on iOS Devices
All iOS Devices
- To enable testing of apps in iOS devices, either add an Apple Developer account to the Cloud, or:
- Add the devices to an Apple Developer account.
- Create a developer profile or .mobile provision, and a .p12 file with a wildcard certificate.
- Upload these to the Cloud.
- To obtain a web dump in non-instrumented apps, the app must be signed with a debug profile.
- Accessibility modes like Assistive Access are not supported as they limit the operating system experiences. Other similar modes where the iOS experience is simplified are not supported.
iOS 18 Beta on Real Devices
- Apple has modified the flow to trust the enterprise developer profiles and it now requires a reboot of the iPhone/iPad. This restart will cause the device to go into a limited access operating system in iOS 18 that results in the device going into error on cloud. Hence, trusting the enterprise developer profile remote will require a manual intervention on the cloud devices.
- All the limitations mentioned for iOS 17 and older are applicable.
iOS 17 Official and Beta on Real Devices
-
Remote Debugging is not supported on iOS 17 devices.
-
Due to the recent changes by Apple, iOS 17 (both official and Beta) is supported only in the Cloud and locally with SeeTest Automation and Appium Studio Enterprise running on Mac machines. Standalone tools like SeeTest Automation and Appium Studio Enterprise running on Windows PC do not support it. You can still use the remote iOS 17 devices from the Cloud on a Windows PC.
- Beta versions include debugging, analytics, and testing versions of code, data, and logs. These are typically considerably larger than final released versions.
- When running multiple tests in automation, system data fills up and the device becomes less responsive.
iOS 15 and Above - Passcodes
As a result of a limitation imposed by Apple, having passcodes set on devices by default is not supported for iOS 15 and above. This includes passcode, TouchID, and FaceID. You can use DevicePasscode in Mobile Studio or [automation](../../../te/test-execution-home/mobile../../../../te/test-execution-home/mobile-android-and-ios/appium/seetest-appium-extension/device-commands/setpasscode.md
iOS 15 and Above - Swipe
When using Swipe, in some cases you might need to use SetDragStartDelay
first. Some cases in which you may need to include:
-
Opening control-center on devices with home button via swipe down.
-
Opening app-switcher on devices without home button via swipe down.
Java Example
client.setDragStartDelay(50);
client.swipe("Down", 0, 2000);
iOS 16.4 and Above - WebView on Hybrid Non-Instrumented Applications
In iOS 16.4, Apple introduced the inspectable property for WebViews. It enables or disables inspecting the view with Safari Web Inspector. If this is disabled in your app, you may fail to fetch the Web Dumps in hybrid non-Iistrumented applications.
If this happens, set the WebView's inspectable property to YES
.
WebView Inspectable Property Enabled
if (@available(iOS 16.4, *)) {
_webView.inspectable = YES;
}