stop_recording
Ends video recording in iOS Simulator to manage storage and prepare for testing or analysis.
Instructions
Stops the simulator video recording using killall
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/index.ts:837-873 (registration)Registration of the 'stop_recording' tool using server.tool(), including description, empty input schema, and inline handler function. Conditionally registered if not filtered.if (!isToolFiltered("stop_recording")) { server.tool( "stop_recording", "Stops the simulator video recording using killall", {}, async () => { try { await run("pkill", ["-SIGINT", "-f", "simctl.*recordVideo"]); // Wait a moment for the video to finalize await new Promise((resolve) => setTimeout(resolve, 1000)); return { isError: false, content: [ { type: "text", text: "Recording stopped successfully.", }, ], }; } catch (error) { return { isError: true, content: [ { type: "text", text: errorWithTroubleshooting( `Error stopping recording: ${toError(error).message}` ), }, ], }; } } ); }
- src/index.ts:842-871 (handler)Inline handler function for 'stop_recording' tool. Kills the recording process using pkill with SIGINT on processes matching 'simctl.*recordVideo', waits 1 second, returns success message or catches errors with troubleshooting.async () => { try { await run("pkill", ["-SIGINT", "-f", "simctl.*recordVideo"]); // Wait a moment for the video to finalize await new Promise((resolve) => setTimeout(resolve, 1000)); return { isError: false, content: [ { type: "text", text: "Recording stopped successfully.", }, ], }; } catch (error) { return { isError: true, content: [ { type: "text", text: errorWithTroubleshooting( `Error stopping recording: ${toError(error).message}` ), }, ], }; } }
- src/index.ts:841-841 (schema)Input schema for 'stop_recording' tool: empty object, indicating no parameters are required.{},