docs: add ios-deploy, system_profiler UDID, Bonjour/VPN notes to CI/CD setup
Some checks failed
PR → iPhone → LGTM / Wait for LGTM comment (pull_request) Has been cancelled
PR → iPhone → LGTM / Build & Install on iPhone (pull_request) Has been cancelled

- Add ios-deploy install step (brew install ios-deploy)
- Add system_profiler SPUSBDataType method for finding iPhone UDID
- Add note about Bonjour/mDNS not working over VPN — use UDID-based connection
- Add ios-deploy troubleshooting entry for VPN/Bonjour issues
This commit is contained in:
2026-06-26 21:25:51 +00:00
parent 7a02a8949e
commit 6a659c41fa

View File

@@ -12,7 +12,8 @@ This guide covers setting up a **Gitea Actions** macOS runner to automatically b
### Software
- [Gitea Actions Runner](https://docs.gitea.com/usage/actions/act-runner) installed and registered
- `brew` (Homebrew) installed
- `xcodegen` (installed automatically by the workflow)
- `xcodegen` `brew install xcodegen` (also installed automatically by the workflow)
- `ios-deploy``brew install ios-deploy` (also installed automatically by the workflow)
- `libimobiledevice` + `ideviceinstaller` (installed automatically by the workflow)
## 1. Register the macOS Runner
@@ -39,10 +40,19 @@ This guide covers setting up a **Gitea Actions** macOS runner to automatically b
`Settings → Privacy & Security → Developer Mode`
4. Get the device UDID:
```bash
# Via Xcode: Window → Devices and Simulators, or:
# Method 1: Via libimobiledevice (preferred)
idevice_id -l
# Method 2: Via system_profiler (no extra tools needed)
system_profiler SPUSBDataType | grep -A 20 "iPhone" | grep "Serial Number"
# The UDID is the 40-character hex string (not the ECID)
# Method 3: Via Xcode
# Window → Devices and Simulators
```
> **Important:** Bonjour/mDNS discovery does **not** work over VPN connections. Always use the USB-based UDID connection (`--id` flag with `ios-deploy`) rather than relying on network Bonjour discovery. The workflow uses `--id ${IPHONE_UDID}` which works over both direct USB and USB-over-network setups.
## 3. Configure Secrets
Add these secrets in the Gitea repository:
@@ -123,5 +133,6 @@ xcodebuild build \
| "No provisioning profile" | Run `-allowProvisioningUpdates` or open project in Xcode once |
| `xcodegen: command not found` | `brew install xcodegen` (workflow handles this) |
| `ideviceinstaller` fails | Ensure iPhone is unlocked and trusted; try Xcode Organizer manually |
| `ios-deploy` fails to find device | Use `--id` with explicit UDID. Bonjour discovery fails over VPN — always use UDID-based connection |
| Runner doesn't pick up job | Verify runner label is `macos` and runner is connected |
| Token permission errors | Ensure `GITEA_TOKEN` has `write:issue` and `write:pull_request` scopes |