링크된 문서
역링크
xcodebuild
xcodebuild
xcodebuild MCP 서버는 iOS 및 macOS 애플리케이션 개발을 위한 Xcode 프로젝트 및 워크스페이스를 빌드하고 관리하는 기능을 제공합니다. 이 서버를 통해 AI 어시스턴트가 Xcode 프로젝트의 빌드, 테스트, 분석을 자동화하고, 발생하는 오류와 경고를 처리할 수 있도록 지원합니다.
특징
- Xcode 프로젝트 빌드 자동화: 명령줄에서 iOS/macOS 프로젝트 및 워크스페이스 빌드
- 오류 피드백: 빌드 오류를 분석하고 AI에 구조화된 형태로 제공
- 테스트 실행 및 분석: 단위 테스트 및 UI 테스트 실행과 결과 분석
- 코드 서명 관리: iOS 앱의 코드 서명 및 프로비저닝 프로파일 처리
- 아카이브 및 배포: 앱 아카이브 생성 및 배포 준비
- 코드 분석: 정적 분석 도구를 통한 코드 품질 검사
- 멀티 플랫폼 지원: iOS, watchOS, tvOS, macOS 애플리케이션 지원
API
리소스
- 프로젝트 정보: Xcode 프로젝트 구조 및 설정
- 빌드 구성: 다양한 빌드 구성(Debug, Release 등)
- 빌드 로그: 프로젝트 빌드 과정 및 결과 로그
- 테스트 결과: 자동화된 테스트 실행 결과
도구
build_project
Xcode 프로젝트 또는 워크스페이스를 빌드합니다.
- 입력:
- project_path: Xcode 프로젝트 또는 워크스페이스 경로
- scheme: 빌드할 스킴 이름
- configuration: 빌드 구성 (Debug, Release 등, 선택 사항)
- sdk: 대상 SDK (iphoneos, iphonesimulator 등, 선택 사항)
- destination: 빌드 대상 (선택 사항)
- 출력:
- success: 빌드 성공 여부
- build_log: 빌드 로그
- errors: 발생한 오류 목록
- warnings: 발생한 경고 목록
run_tests
프로젝트의 테스트를 실행합니다.
- 입력:
- project_path: Xcode 프로젝트 또는 워크스페이스 경로
- scheme: 테스트할 스킴 이름
- test_plan: 테스트 계획 이름 (선택 사항)
- destination: 테스트 대상 기기 또는 시뮬레이터 (선택 사항)
- 출력:
- success: 테스트 성공 여부
- test_results: 테스트 결과 요약
- failed_tests: 실패한 테스트 목록
- test_log: 전체 테스트 로그
get_project_info
Xcode 프로젝트 정보를 조회합니다.
- 입력:
- project_path: Xcode 프로젝트 경로
- 출력:
- 프로젝트 이름, 대상, 구성, 지원하는 SDK 등의 정보
list_schemes
프로젝트의 사용 가능한 스킴 목록을 조회합니다.
- 입력:
- project_path: Xcode 프로젝트 또는 워크스페이스 경로
- 출력:
- 사용 가능한 스킴 목록 및 각 스킴의 정보
analyze_code
정적 분석 도구를 사용하여 코드를 분석합니다.
- 입력:
- project_path: Xcode 프로젝트 또는 워크스페이스 경로
- scheme: 분석할 스킴 이름
- analyzer: 사용할 분석 도구 (선택 사항)
- 출력:
- 코드 분석 결과 및 발견된 문제점
create_archive
앱을 아카이브하여 배포 준비를 합니다.
- 입력:
- project_path: Xcode 프로젝트 또는 워크스페이스 경로
- scheme: 아카이브할 스킴 이름
- archive_path: 아카이브 파일을 저장할 경로
- 출력:
- success: 아카이브 성공 여부
- archive_info: 생성된 아카이브 정보
export_archive
아카이브를 IPA 파일로 내보냅니다.
- 입력:
- archive_path: 아카이브 파일 경로
- export_path: 내보낼 디렉토리 경로
- export_options: 내보내기 옵션 (method, team-id 등)
- 출력:
- success: 내보내기 성공 여부
- ipa_path: 생성된 IPA 파일 경로
manage_certificates
코드 서명 인증서 및 프로비저닝 프로파일을 관리합니다.
- 입력:
- action: 수행할 작업 (list, import, export 등)
- certificate_path: 인증서 파일 경로 (선택 사항)
- profile_path: 프로비저닝 프로파일 경로 (선택 사항)
- 출력:
- 작업 결과 및 상태 정보
사용 방법
설치
# npm을 통한 설치
npm install -g xcodebuild-mcp
# 또는 소스에서 빌드
git clone https://github.com/example/xcodebuild-mcp.git
cd xcodebuild-mcp
npm install
npm run build
필요 조건
- macOS 운영체제 (10.15 이상 권장)
- Xcode 12.0 이상 설치
- 명령줄 개발자 도구 설치 (
xcode-select --install)
구성
MCP 클라이언트 구성 예시:
{
"mcpServers": {
"xcodebuild": {
"command": "xcodebuild-mcp",
"args": [
"--project-path=/Users/developer/Projects/MyApp",
"--log-level=info"
],
"env": {
"DEVELOPER_DIR": "/Applications/Xcode.app/Contents/Developer"
}
}
}
}
고급 설정
여러 Xcode 버전을 전환하거나 특정 설정을 사용하려면 환경 변수를 통해 구성할 수 있습니다:
{
"mcpServers": {
"xcodebuild": {
"command": "xcodebuild-mcp",
"env": {
"DEVELOPER_DIR": "/Applications/Xcode-beta.app/Contents/Developer",
"CODE_SIGN_IDENTITY": "iPhone Developer: Your Name (ABCDE12345)",
"PROVISIONING_PROFILE": "01234567-89ab-cdef-0123-456789abcdef"
}
}
}
}
활용 사례
- CI/CD 파이프라인 통합: 지속적 통합 및 배포 시스템과 연동하여 자동화된 빌드 및 테스트
- 빌드 오류 해결: 빌드 과정에서 발생하는 오류를 분석하고 해결책 제안
- 코드 품질 개선: 정적 분석 결과를 기반으로 코드 품질 및 성능 개선 제안
- 배포 자동화: 앱 스토어 또는 TestFlight 배포를 위한 아카이브 및 내보내기 자동화
- 프로젝트 설정 최적화: 프로젝트 설정 및 의존성 관리 최적화 제안
문제 해결 가이드
일반적인 문제 및 해결책
- 코드 서명 오류
- 문제: "Code signing is required for product type..."
-
해결책:
- 적절한 프로비저닝 프로파일 및 서명 인증서 설정
- 개발용으로만 빌드하는 경우
-allowProvisioningUpdates옵션 사용
-
의존성 오류
- 문제: "Could not resolve dependency..."
-
해결책:
- CocoaPods:
pod install실행 - Swift Package Manager: 패키지 리셋 및 업데이트
- CocoaPods:
-
시뮬레이터 문제
- 문제: "Unable to find simulator..."
- 해결책:
xcrun simctl list명령으로 사용 가능한 시뮬레이터 확인- Xcode 버전과 시뮬레이터 버전 일치 확인
연결된 구성 요소
- Terminal-Control - 터미널 명령 실행 및 관리
- Git - 소스 코드 버전 관리
- Docker - CI/CD 환경 구성