xc-mcp
Version:
MCP server that wraps Xcode command-line tools for iOS/macOS development workflows
21 lines • 3.45 kB
TypeScript
/**
* Launch an iOS app on a simulator
*
* Examples:
* - Launch app: udid: "device-123", bundleId: "com.example.MyApp"
* - Launch with arguments: udid: "device-123", bundleId: "com.example.MyApp", arguments: ["--verbose", "--debug"]
* - Launch with environment: udid: "device-123", bundleId: "com.example.MyApp", environment: { "DEBUG": "1" }
*
* Returns the process ID of the launched app
*
* **Full documentation:** See simctl/launch.md for detailed parameters and examples
*/
export declare function simctlLaunchTool(args: any): Promise<{
content: {
type: "text";
text: string;
}[];
isError: boolean;
}>;
export declare const SIMCTL_LAUNCH_DOCS = "\n# simctl-launch\n\nLaunch an iOS app on a simulator with support for custom arguments and environment variables.\n\n## What it does\n\nStarts an iOS app on a booted simulator, optionally passing command-line arguments and\nenvironment variables. Returns the process ID of the launched app for tracking.\n\n## Parameters\n\n- **udid** (string, required): Simulator UDID (from simctl-list)\n- **bundleId** (string, required): App bundle ID (e.g., com.example.MyApp)\n- **arguments** (string[], optional): Command-line arguments to pass to the app\n- **environment** (object, optional): Environment variables to set (automatically prefixed with SIMCTL_CHILD_)\n\n## Returns\n\nJSON response with:\n- Process ID of the launched app\n- Launch status and command executed\n- Guidance for next steps (terminating, opening URLs, checking container)\n\n## Examples\n\n### Simple app launch\n```typescript\nawait simctlLaunchTool({\n udid: 'device-123',\n bundleId: 'com.example.MyApp'\n})\n```\n\n### Launch with debug arguments\n```typescript\nawait simctlLaunchTool({\n udid: 'device-123',\n bundleId: 'com.example.MyApp',\n arguments: ['--verbose', '--debug']\n})\n```\n\n### Launch with environment variables\n```typescript\nawait simctlLaunchTool({\n udid: 'device-123',\n bundleId: 'com.example.MyApp',\n environment: { DEBUG: '1', API_URL: 'https://staging.example.com' }\n})\n```\n\n## Common Use Cases\n\n1. **Debug launches**: Start app with debug flags enabled\n2. **API environment switching**: Set staging/production API URLs\n3. **Feature flags**: Enable experimental features via environment\n4. **Test scenarios**: Configure app behavior for specific test cases\n5. **Deep link testing**: Launch app then open URLs with simctl-openurl\n\n## Important Notes\n\n- **Simulator must be booted**: Use simctl-boot first if simulator is not running\n- **App must be installed**: Use simctl-install to install app first\n- **Environment variables**: Automatically prefixed with SIMCTL_CHILD_ for simctl compatibility\n- **Process ID tracking**: Returned PID can be used to monitor or terminate the app\n\n## Error Handling\n\n- **App not installed**: Returns error if app bundle is not found\n- **Simulator not booted**: Indicates simulator must be booted first\n- **Invalid bundle ID**: Validates bundle ID format (must contain '.')\n- **Simulator not found**: Validates simulator exists in cache\n\n## Next Steps After Launch\n\n1. **Terminate app**: `simctl-terminate <udid> <bundleId>`\n2. **Open URL/deep link**: `simctl-openurl <udid> myapp://deeplink`\n3. **Check app container**: `simctl-get-app-container <udid> <bundleId>`\n4. **Send push notification**: `simctl-push <udid> <bundleId> <payload>`\n";
//# sourceMappingURL=launch.d.ts.map