XCUITest Real-Device Configuration Workflow
Routing
This workflow covers real iOS or tvOS trust, Developer Mode, signing,
provisioning, WebDriverAgent installation, prebuilt or preinstalled WDA, and
use of a running WDA endpoint. Enter only from
skills/setup-xcuitest/SKILL.md after its shared prerequisite gates pass. Use
skills/appium-troubleshooting/SKILL.md as a new published entrypoint for
later runtime failures outside real-device signing or WDA deployment, not as a
continuation owned by this workflow.
Required inputs
Confirm the iOS or tvOS device, global appium or explicitly requested local npx appium mode, host macOS and Xcode state, WebDriverAgent runtime route, device trust and Developer Mode state, relevant capabilities, and permissions for local signing or device checks. For routes that build, sign, or install WDA, confirm the signing option and locally available provisioning assets without requesting their secret contents.
Workflow outline
- Confirm the handoff evidence from
skills/setup-xcuitest/SKILL.md, then
load contexts/tools/appium/real-device/xcuitest-readiness.md. If the shared
XCUITest prerequisite evidence is missing or failing, stop this continuation
and report the setup blocker.
- Select the WDA runtime route first. Load one signing profile only when this workflow will build, re-sign, install, or validate local WDA signing. Load no reuse profile for the default Appium-managed
xcodebuild route; otherwise load exactly one matching prebuilt, preinstalled, or running-WDA URL profile.
- Load the required real-device procedure, then load the required WDA runtime
Context before executing any numbered step. Load the optional WDA
preparation Context declared in metadata only when the selected route
builds, modifies, signs, installs, or separately validates a local WDA
bundle. Load the optional shared capability Context only when choosing or
validating real-device capabilities.
- Run the device, signing, provisioning, code-signature, deployment, and WDA connectivity checks required by the selected profiles.
- Re-run the narrowest failed check after each approved change and record the evidence.
Real-device safety and approval constraints
- Keep Apple credentials, provisioning-profile contents, private keys, signing-archive contents, and passwords outside agent inputs and captured command output. Report device and signing identifiers only as redacted fingerprints or match/no-match results; if evidence cannot be sanitized, stop and ask the user to verify it locally.
- Require explicit approval before privileged commands, trust changes, signing modifications, bundle changes, or device installation.
- Preserve existing working signing and WDA deployment choices unless evidence requires a change.
- Use global Appium mode by default and local
npx appium only when explicitly requested.
Completion criteria
Report build or install routes as passed only when their applicable device,
signing, provisioning, code-signature, deployment, and connectivity checks pass.
After the shared macOS, XCUITest-driver, and device-visibility prerequisites pass,
report a running-WDA URL route as passed when the endpoint is reachable and an
Appium session attaches successfully; local WDA preparation, signing, and
installation evidence is not required for that route. If any required check
cannot be completed, report blocked with sanitized evidence and the exact next
action. Keep privileged or optional actions user-approved and report only the
configuration actually validated.
Evidence
Example input: Prepare a real iPhone for Appium XCUITest and verify WebDriverAgent can be installed. Verify device trust, Developer Mode, signing assets, bundle IDs, WebDriverAgent deployment mode, and final connectivity before reporting readiness.
1---2name: xcuitest-real-device-config3description: Prepare real iOS or tvOS devices for Appium XCUITest by validating readiness, provisioning, signing, WebDriverAgent deployment, and connectivity. Use only after setup-xcuitest completes shared XCUITest prerequisites and continues to this Skill for a real-device target. Do not use for general XCUITest setup or later runtime failures unrelated to signing or WebDriverAgent deployment.4---56# XCUITest Real-Device Configuration Workflow78## Routing910This workflow covers real iOS or tvOS trust, Developer Mode, signing,11provisioning, WebDriverAgent installation, prebuilt or preinstalled WDA, and12use of a running WDA endpoint. Enter only from13`skills/setup-xcuitest/SKILL.md` after its shared prerequisite gates pass. Use14`skills/appium-troubleshooting/SKILL.md` as a new published entrypoint for15later runtime failures outside real-device signing or WDA deployment, not as a16continuation owned by this workflow.1718## Required inputs1920Confirm the iOS or tvOS device, global `appium` or explicitly requested local `npx appium` mode, host macOS and Xcode state, WebDriverAgent runtime route, device trust and Developer Mode state, relevant capabilities, and permissions for local signing or device checks. For routes that build, sign, or install WDA, confirm the signing option and locally available provisioning assets without requesting their secret contents.2122## Workflow outline23241. Confirm the handoff evidence from `skills/setup-xcuitest/SKILL.md`, then25 load `contexts/tools/appium/real-device/xcuitest-readiness.md`. If the shared26 XCUITest prerequisite evidence is missing or failing, stop this continuation27 and report the setup blocker.282. Select the WDA runtime route first. Load one signing profile only when this workflow will build, re-sign, install, or validate local WDA signing. Load no reuse profile for the default Appium-managed `xcodebuild` route; otherwise load exactly one matching prebuilt, preinstalled, or running-WDA URL profile.293. Load the required real-device procedure, then load the required WDA runtime30 Context before executing any numbered step. Load the optional WDA31 preparation Context declared in metadata only when the selected route32 builds, modifies, signs, installs, or separately validates a local WDA33 bundle. Load the optional shared capability Context only when choosing or34 validating real-device capabilities.354. Run the device, signing, provisioning, code-signature, deployment, and WDA connectivity checks required by the selected profiles.365. Re-run the narrowest failed check after each approved change and record the evidence.3738## Real-device safety and approval constraints3940- Keep Apple credentials, provisioning-profile contents, private keys, signing-archive contents, and passwords outside agent inputs and captured command output. Report device and signing identifiers only as redacted fingerprints or match/no-match results; if evidence cannot be sanitized, stop and ask the user to verify it locally.41- Require explicit approval before privileged commands, trust changes, signing modifications, bundle changes, or device installation.42- Preserve existing working signing and WDA deployment choices unless evidence requires a change.43- Use global Appium mode by default and local `npx appium` only when explicitly requested.4445## Completion criteria4647Report build or install routes as `passed` only when their applicable device,48signing, provisioning, code-signature, deployment, and connectivity checks pass.49After the shared macOS, XCUITest-driver, and device-visibility prerequisites pass,50report a running-WDA URL route as `passed` when the endpoint is reachable and an51Appium session attaches successfully; local WDA preparation, signing, and52installation evidence is not required for that route. If any required check53cannot be completed, report `blocked` with sanitized evidence and the exact next54action. Keep privileged or optional actions user-approved and report only the55configuration actually validated.5657## Evidence5859Example input: `Prepare a real iPhone for Appium XCUITest and verify WebDriverAgent can be installed.` Verify device trust, Developer Mode, signing assets, bundle IDs, WebDriverAgent deployment mode, and final connectivity before reporting readiness.