scaffold_ios_project
Generate a new iOS project with Xcode workspace, Swift Package Manager setup, and proper iOS configuration using customizable templates for efficient development.
Instructions
Scaffold a new iOS project from templates. Creates a modern Xcode project with workspace structure, SPM package for features, and proper iOS configuration.
Input Schema
Name | Required | Description | Default |
---|---|---|---|
bundleIdentifier | No | Bundle identifier (e.g., com.example.myapp). If not provided, will use com.example.projectname | |
currentProjectVersion | No | Build number (e.g., 1, 42, 100). If not provided, will use 1 | |
customizeNames | No | Whether to customize project names and identifiers. Default is true. | |
deploymentTarget | No | iOS deployment target (e.g., 18.4, 17.0). If not provided, will use 18.4 | |
displayName | No | App display name (shown on home screen/dock). If not provided, will use projectName | |
marketingVersion | No | Marketing version (e.g., 1.0, 2.1.3). If not provided, will use 1.0 | |
outputPath | Yes | Path where the project should be created | |
projectName | Yes | Name of the new project | |
supportedOrientations | No | Supported orientations for iPhone. If not provided, will use all orientations | |
supportedOrientationsIpad | No | Supported orientations for iPad. If not provided, will use all orientations | |
targetedDeviceFamily | No | Target device family. If not provided, will use iPhone+iPad |
Input Schema (JSON Schema)
{
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"bundleIdentifier": {
"description": "Bundle identifier (e.g., com.example.myapp). If not provided, will use com.example.projectname",
"type": "string"
},
"currentProjectVersion": {
"description": "Build number (e.g., 1, 42, 100). If not provided, will use 1",
"type": "string"
},
"customizeNames": {
"default": true,
"description": "Whether to customize project names and identifiers. Default is true.",
"type": "boolean"
},
"deploymentTarget": {
"description": "iOS deployment target (e.g., 18.4, 17.0). If not provided, will use 18.4",
"type": "string"
},
"displayName": {
"description": "App display name (shown on home screen/dock). If not provided, will use projectName",
"type": "string"
},
"marketingVersion": {
"description": "Marketing version (e.g., 1.0, 2.1.3). If not provided, will use 1.0",
"type": "string"
},
"outputPath": {
"description": "Path where the project should be created",
"type": "string"
},
"projectName": {
"description": "Name of the new project",
"minLength": 1,
"type": "string"
},
"supportedOrientations": {
"description": "Supported orientations for iPhone. If not provided, will use all orientations",
"items": {
"enum": [
"Portrait",
"LandscapeLeft",
"LandscapeRight"
],
"type": "string"
},
"type": "array"
},
"supportedOrientationsIpad": {
"description": "Supported orientations for iPad. If not provided, will use all orientations",
"items": {
"enum": [
"Portrait",
"PortraitUpsideDown",
"LandscapeLeft",
"LandscapeRight"
],
"type": "string"
},
"type": "array"
},
"targetedDeviceFamily": {
"description": "Target device family. If not provided, will use iPhone+iPad",
"enum": [
"iPhone",
"iPad",
"iPhone+iPad"
],
"type": "string"
}
},
"required": [
"projectName",
"outputPath"
],
"type": "object"
}