iOS¶
For iOS, create devices from a managed image that already exists in /api/images.
1. Pick A Managed Image¶
List images and copy the iOS image_id you want to use:
curl -s http://127.0.0.1:8000/api/images
2. Create The Device¶
curl -s http://127.0.0.1:8000/api/devices \
-H 'Content-Type: application/json' \
-d '{
"name": "ios-lab-01",
"platform": "ios",
"model": "iPhone 15",
"os_version": "17.4",
"image": "iPhone 15 Base",
"image_id": "iphone-15-base-a1b2c3d4",
"vm_config": {
"no_graphics": false,
"cpu_count": 8,
"memory_mb": 8192,
"disk_size_gb": 64
}
}'
3. Start The Device¶
curl -s http://127.0.0.1:8000/api/devices/<device-id>/power \
-H 'Content-Type: application/json' \
-d '{"action":"start"}'
4. Inspect Runtime Status¶
curl -s http://127.0.0.1:8000/api/devices/<device-id>/runtime
5. Adjust Headed vs Headless Mode¶
You can toggle graphics for the next boot:
curl -s http://127.0.0.1:8000/api/devices/<device-id>/vm-config \
-H 'Content-Type: application/json' \
-d '{"no_graphics":false}'
Tip
If you plan to use the browser workspace for manual interaction, start with no_graphics: false so the runtime has a visible display path.