Prerequisites
On Your Mac
- macOS 10.15 (Catalina) or later
- Xcode installed (latest version recommended)
- Apple ID (free tier works, but has limitations)
- USB cable for device connection
On Your iOS Device
- iOS 14.0 or higher
- USB cable connected
- Device unlocked and trusted
Initial Device Connection
Step 1: Connect Device
- Connect your iOS device via USB cable
- Unlock the device
Step 2: Trust Computer
When prompted on the device:- Tap Trust on the “Trust This Computer?” dialog
- Enter your device passcode if prompted
Step 3: Verify in Xcode
- Open Xcode
- Go to Window > Devices and Simulators
- Your device should appear in the list
- Ensure status shows as connected
WebDriverAgent Setup
WebDriverAgent (WDA) is required for iOS automation. Qaptly includes a setup wizard to guide you through the process.Opening the WDA Setup Wizard
- Open Pilot Control
- Find your iOS device in the list
- Click Setup WDA
- The WDA Setup Wizard opens
WDA Setup Flow
The wizard guides you through 4 steps:Step 1: Download WDA Project
- Click Download WDA
- The WebDriverAgent project is downloaded to:
- Or select an existing WDA project location
Step 2: Configure Signing in Xcode
- Click Open in Xcode to open the WDA project
- In Xcode, select the WebDriverAgentRunner target
- Go to Signing & Capabilities
- Select your Team (your Apple ID)
- Fix any signing errors:
- Change Bundle Identifier if needed (e.g., add
.yourname) - Let Xcode manage signing automatically
- Change Bundle Identifier if needed (e.g., add
Step 3: Launch WDA in Xcode
- Select your iOS device as the target
- Press ⌘+U (Product > Test) to build and run WDA
- Wait for WDA to install and start on device
- You may need to trust the developer profile on device:
- Go to Settings > General > Device Management
- Trust your developer profile
Step 4: Verify Status
- Return to Qaptly
- Click Verify Status
- Status should show “WDA Running”
- The setup is complete
Using WDA
Starting WDA
If WDA is not running:- Open the WDA project in Xcode
- Select your device
- Press ⌘+U to start WDA
Stopping WDA
- In Xcode, press the Stop button
- Or press ⌘+.
WDA Port
WDA runs on port 8100 by default. Qaptly automatically detects and connects to WDA.Signing Considerations
Free Apple ID
With a free Apple ID:- Apps expire after 7 days
- You need to re-install WDA weekly
- Limited to 3 app IDs per week
Paid Developer Account
With a paid Apple Developer account ($99/year):- Apps last 1 year
- No weekly reinstallation needed
- More app ID slots
Enterprise Account
Enterprise certificates provide:- Longer validity
- Simpler distribution
- No device limit for development
Screen Streaming
Starting Stream
- Ensure WDA is running
- In Pilot Control, select your iOS device
- Click Start Stream
- The device screen appears in the streaming panel
Streaming Quality
iOS streaming may have slight delay compared to Android. This is normal due to the WDA architecture.Multiple iOS Devices
Connecting Multiple Devices
- Connect each device via USB
- Trust each device
- Configure WDA for each device
Device Selection
Select the target device in:- Xcode’s scheme selector
- Pilot Control’s device list
Troubleshooting
”Device Not Trusted”
- Disconnect and reconnect the device
- Tap Trust when prompted
- Enter passcode if required
WDA Build Fails
- Check code signing settings
- Ensure device is connected
- Clean build folder: Product > Clean Build Folder
- Try again
”Unable to Launch WDA”
- Check device is unlocked
- Verify developer profile is trusted on device
- Restart the device
- Try building WDA again
WDA Crashes on Start
- Uninstall WDA from device
- Clean build folder in Xcode
- Rebuild and reinstall
Device Not Appearing in Pilot Control
- Verify device is trusted
- Check Xcode recognizes device
- Ensure USB connection is stable
- Refresh device list in Pilot Control
”Profile Not Trusted”
On the iOS device:- Go to Settings > General > VPN & Device Management
- Find your developer profile
- Tap Trust
- Confirm the trust action
Best Practices
- Keep device unlocked: Auto-lock can interrupt WDA
- Disable passcode temporarily: For long test sessions
- Use good USB cables: Poor cables cause connection issues
- Keep Xcode updated: Latest Xcode has best device support
- Document bundle ID changes: Track any signing modifications
Re-Setup After Expiration
If using a free Apple ID (7-day expiration):- Delete WDA from device
- In Xcode, clean build folder
- Rebuild WDA with ⌘+U
- Trust the new profile on device