Skip to main content
Glama

MCP Xcode

by Stefan-Nitu
BuildDestinationMapperAdapter.ts3.15 kB
import { BuildDestination } from '../domain/BuildDestination.js'; import { IBuildDestinationMapper } from '../../../application/ports/MappingPorts.js'; /** * Infrastructure adapter that maps domain BuildDestination values * to actual xcodebuild command destination strings and build settings. * * Uses ONLY_ACTIVE_ARCH=YES for non-universal builds to optimize build time * by building only for the current machine's architecture. */ export class BuildDestinationMapperAdapter implements IBuildDestinationMapper { /** * Converts a BuildDestination to xcodebuild destination string and build settings */ async toXcodeBuildOptions(destination: BuildDestination): Promise<{ destination: string; additionalSettings?: string[]; }> { switch (destination) { // iOS destinations case BuildDestination.iOSSimulator: // Build for simulator with current architecture only (faster) return { destination: 'generic/platform=iOS Simulator', additionalSettings: ['ONLY_ACTIVE_ARCH=YES'] }; case BuildDestination.iOSDevice: return { destination: 'generic/platform=iOS' }; case BuildDestination.iOSSimulatorUniversal: // Build for all architectures return { destination: 'generic/platform=iOS Simulator' }; // tvOS destinations case BuildDestination.tvOSSimulator: return { destination: 'generic/platform=tvOS Simulator', additionalSettings: ['ONLY_ACTIVE_ARCH=YES'] }; case BuildDestination.tvOSDevice: return { destination: 'generic/platform=tvOS' }; case BuildDestination.tvOSSimulatorUniversal: return { destination: 'generic/platform=tvOS Simulator' }; // watchOS destinations case BuildDestination.watchOSSimulator: return { destination: 'generic/platform=watchOS Simulator', additionalSettings: ['ONLY_ACTIVE_ARCH=YES'] }; case BuildDestination.watchOSDevice: return { destination: 'generic/platform=watchOS' }; case BuildDestination.watchOSSimulatorUniversal: return { destination: 'generic/platform=watchOS Simulator' }; // visionOS destinations case BuildDestination.visionOSSimulator: return { destination: 'generic/platform=xrOS Simulator', additionalSettings: ['ONLY_ACTIVE_ARCH=YES'] }; case BuildDestination.visionOSDevice: return { destination: 'generic/platform=xrOS' }; case BuildDestination.visionOSSimulatorUniversal: return { destination: 'generic/platform=xrOS Simulator' }; // macOS destinations case BuildDestination.macOS: return { destination: 'platform=macOS', additionalSettings: ['ONLY_ACTIVE_ARCH=YES'] }; case BuildDestination.macOSUniversal: return { destination: 'platform=macOS' }; default: // Fallback to iOS simulator with optimization return { destination: 'generic/platform=iOS Simulator', additionalSettings: ['ONLY_ACTIVE_ARCH=YES'] }; } } }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Stefan-Nitu/mcp-xcode'

If you have feedback or need assistance with the MCP directory API, please join our Discord server