Skip to content

Commit 82f30e3

Browse files
committed
docs: make Xcode/iOS compatibility tables clearer
1 parent 80ad3b9 commit 82f30e3

File tree

3 files changed

+40
-38
lines changed

3 files changed

+40
-38
lines changed

docs/guides/troubleshooting.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ XCUITest driver offers a couple of approaches to handle them:
4747
- It might be necessary to coordinate element selection via `acceptAlertButtonSelector`/`dismissAlertButtonSelector` settings in [Settings](../reference/settings.md)
4848
- Activate `com.apple.springboard` with [`mobile: activateApp`](../reference/execute-methods.md#mobile-activateapp) before interacting with dialogs
4949

50-
[`mobile: activeAppInfo`](../reference/execute-methods.md#mobile-activateappinfo) helps to understand what application (bundleId) is considered as active for the XCUITest driver.
50+
[`mobile: activeAppInfo`](../reference/execute-methods.md#mobile-activeappinfo) helps to understand what application (bundleId) is considered as active for the XCUITest driver.
5151

5252
## Interact with dialogs managed by `com.apple.ContactsUI.LimitedAccessPromptView`
5353

docs/installation/index.md

Lines changed: 34 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -97,42 +97,44 @@ should help you decide which driver version to install. If you are upgrading/dow
9797
existing installation, check that the [WebDriverAgent (WDA)](https://github.com/appium/WebDriverAgent)
9898
version on the device under test is also updated accordingly.
9999

100-
For iOS/tvOS support in driver versions older than `4.0.0` (Appium 1), please refer to
101-
[the Appium 1 changelog](https://github.com/appium/appium/blob/1.x/CHANGELOG.md).
102-
103-
!!! info "Background"
100+
??? info "Why not support all iOS versions?"
104101

105102
The XCUITest driver depends on the [WebDriverAgent (WDA)](https://github.com/appium/WebDriverAgent)
106103
framework, which in turn [relies on Apple's XCTest framework](../overview.md). Changes in the
107-
XCTest API are published in new Xcode and Apple device OS versions. These API changes may
108-
add new features that the driver must implement in order to support the latest devices, as well
109-
as modify or even remove support for existing features that the driver relies on. In both cases,
110-
new driver and WDA versions are required.
104+
XCTest API are published in new Xcode and Apple device OS versions. These API changes may not
105+
only add new features that the driver must implement in order to support the latest devices, but
106+
also modify or even remove support for existing features that the driver relies on.
111107

112108
Generally, the driver/WDA aims to support the latest _two_ (2) major Xcode/iOS/iPadOS/tvOS versions,
113-
but may also work with older versions, unless specified below.
114-
115-
The following are the minimum driver/WDA versions required for specific Xcode/iOS versions:
116-
117-
| Xcode/iOS version | Minimum XCUITest driver & WDA version |
118-
| --- | --- |
119-
| Xcode 26 / iOS 26 | `9.5.0` (WDA `9.14.1`) |
120-
| Xcode 16-beta.5 / iOS 18 | `7.24.15` (WDA `8.9.1`) |
121-
| Xcode 15 / iOS 17 | `4.32.23` (WDA `5.6.0`) |
122-
| Xcode 14.3 / iOS 16.4 | `4.21.7` (WDA `4.13.1`) |
123-
| Xcode 14-beta.3 / iOS 16 Beta | `4.7.4` (WDA `4.8.1`) |
124-
125-
The following are the last driver versions that are compatible with older Xcode versions:
109+
but may also work with older versions whose support has not been explicitly removed.
126110

127-
| Xcode version | Last supported XCUITest driver version |
128-
| --- | --- |
129-
| Xcode 13 | `10.6.0` (WDA `10.2.2`) |
130-
| Xcode 12 | `4.27.2` (WDA `4.15.1`) |
131-
| Xcode 11 | `4.2.0` (WDA `4.0.0`) |
132-
133-
The following are the last driver versions that are compatible with older iOS versions:
111+
!!! note
134112

135-
| iOS version | Last supported XCUITest driver version |
136-
| --- | --- |
137-
| iOS 9 - iOS 14 | `4.27.2` (WDA `4.15.1`) |
138-
| iOS 8 | `4.2.0` (WDA `4.0.0`) |
113+
For iOS/tvOS/Xcode support in driver/WDA versions older than `4.0.0` (Appium 1), please refer to
114+
[the Appium 1 changelog](https://github.com/appium/appium/blob/1.x/CHANGELOG.md).
115+
116+
The following table maps Xcode versions to their supported driver/WDA versions:
117+
118+
| Xcode version | First supported driver version | Last supported driver version |
119+
| --- | --- | -- |
120+
| Xcode 26 | `9.5.0` (WDA `9.14.1`) | Latest |
121+
| Xcode 16 | `7.24.15` (WDA `8.9.1`) | Latest |
122+
| Xcode 15 | `4.32.23` (WDA `5.6.0`) | Latest (not tested) |
123+
| Xcode 14.3 | `4.21.7` (WDA `4.13.1`) | Latest (not tested) |
124+
| Xcode 14.0 - 14.2 | `4.7.4` (WDA `4.8.1`) | Latest (not tested) |
125+
| Xcode 13 | Pre-`4.0.0` | `10.6.0` (WDA `10.2.2`) |
126+
| Xcode 12 | Pre-`4.0.0` | `4.27.2` (WDA `4.15.1`) |
127+
| Xcode 11 | Pre-`4.0.0` | `4.2.0` (WDA `4.0.0`) |
128+
129+
The following table maps iOS versions to their supported driver/WDA versions:
130+
131+
| iOS version | First supported driver version | Last supported driver version |
132+
| --- | --- | -- |
133+
| iOS 26.4 | `10.23.2` (WDA `11.1.5`) | Latest |
134+
| iOS 26.0 - 26.3 | `9.5.0` (WDA `9.14.1`) | Latest |
135+
| iOS 18 | `7.24.15` (WDA `8.9.1`) | Latest |
136+
| iOS 17 | `4.32.23` (WDA `5.6.0`) | Latest (not tested) |
137+
| iOS 16.4 | `4.21.7` (WDA `4.13.1`) | Latest (not tested) |
138+
| iOS 16.0 - 16.3 | `4.7.4` (WDA `4.8.1`) | Latest (not tested) |
139+
| iOS 15 | Pre-`4.0.0` | Latest (not tested) |
140+
| iOS 9.3 - 14 | Pre-`4.0.0` | `4.27.2` (WDA `4.15.1`) |

docs/reference/execute-methods.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -489,12 +489,12 @@ The returned object always includes at least the following entries:
489489

490490
- `level`: Battery level in range [0.0, 1.0], where 1.0 means 100% charge.
491491
- `state`: Battery state as an integer number. The following values are possible:
492-
* UIDeviceBatteryStateUnknown = 0
493-
* UIDeviceBatteryStateUnplugged = 1 // on battery, discharging
494-
* UIDeviceBatteryStateCharging = 2 // plugged in, less than 100%
495-
* UIDeviceBatteryStateFull = 3 // plugged in, at 100%
492+
* UIDeviceBatteryStateUnknown = 0
493+
* UIDeviceBatteryStateUnplugged = 1 // on battery, discharging
494+
* UIDeviceBatteryStateCharging = 2 // plugged in, less than 100%
495+
* UIDeviceBatteryStateFull = 3 // plugged in, at 100%
496496

497-
On iOS 18 and newer real devices, the returned object may also include many additional advanced battery information fields, such as capacity, health metrics, temperature, and more. For a full list of possible advanced fields, see the [BatteryInfo](../../lib/commands/advanced-battery-types.ts).
497+
On iOS 18 and newer real devices, the returned object may also include many additional advanced battery information fields, such as capacity, health metrics, temperature, and more. For a full list of possible advanced fields, see [`BatteryInfo`](https://github.com/appium/appium-xcuitest-driver/blob/master/lib/commands/advanced-battery-types.ts).
498498

499499
The returned object is a superset of the basic battery info, and may look like:
500500

0 commit comments

Comments
 (0)