iOS Image (vphone-cli)¶
openDeviceCloud expects iOS devices to be created from managed images. That means your first iOS task is usually importing a prepared VM directory into the image catalog.
1. Prepare A VM On The Agent Host¶
Follow the vphone-cli setup flow on the agent host and create a bootstrapped VM directory that the agent can access.
Common locations are inside the agent runtime tree, for example:
$HOME/.open-device-cloud/runtime/vms/base-ios-template
2. Import The VM As A Managed Image¶
Send the source directory to the backend:
curl -s http://127.0.0.1:8000/api/images \
-H 'Content-Type: application/json' \
-d '{
"agent_id": "00000000-0000-0000-0000-000000000000",
"name": "iPhone 15 Base",
"model": "iPhone 15",
"os_version": "17.4",
"source_path": "/Users/agent/.open-device-cloud/runtime/vms/base-ios-template"
}'
This creates a managed image under the agent runtime image store.
3. Confirm The Image Exists¶
curl -s http://127.0.0.1:8000/api/images
Look for an item similar to:
platform: "ios"source: "imported"runtime_path: "runtime/images/<image-id>"
4. Optional: Capture A Running Device Later¶
Once you have created and customized a device, stop it and capture it into a new image:
curl -s http://127.0.0.1:8000/api/images/from-device \
-H 'Content-Type: application/json' \
-d '{
"device_id": "00000000-0000-0000-0000-000000000000",
"name": "iPhone 15 QA Snapshot"
}'
Note
For iOS, the backend rejects device creation requests that do not include a managed image_id.