MCP 문서 관리

메뉴

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"
      }
    }
  }
}

활용 사례

  1. CI/CD 파이프라인 통합: 지속적 통합 및 배포 시스템과 연동하여 자동화된 빌드 및 테스트
  2. 빌드 오류 해결: 빌드 과정에서 발생하는 오류를 분석하고 해결책 제안
  3. 코드 품질 개선: 정적 분석 결과를 기반으로 코드 품질 및 성능 개선 제안
  4. 배포 자동화: 앱 스토어 또는 TestFlight 배포를 위한 아카이브 및 내보내기 자동화
  5. 프로젝트 설정 최적화: 프로젝트 설정 및 의존성 관리 최적화 제안

문제 해결 가이드

일반적인 문제 및 해결책

  1. 코드 서명 오류
  2. 문제: "Code signing is required for product type..."
  3. 해결책:

    • 적절한 프로비저닝 프로파일 및 서명 인증서 설정
    • 개발용으로만 빌드하는 경우 -allowProvisioningUpdates 옵션 사용
  4. 의존성 오류

  5. 문제: "Could not resolve dependency..."
  6. 해결책:

    • CocoaPods: pod install 실행
    • Swift Package Manager: 패키지 리셋 및 업데이트
  7. 시뮬레이터 문제

  8. 문제: "Unable to find simulator..."
  9. 해결책:
    • xcrun simctl list 명령으로 사용 가능한 시뮬레이터 확인
    • Xcode 버전과 시뮬레이터 버전 일치 확인

연결된 구성 요소