ce-test-xcode
everyinc/compound-engineering-plugin
XcodeBuildMCP를 사용하여 시뮬레이터에서 iOS 앱 빌드 및 테스트
...모든 것을 확장하십시오ce-test-xcode 소개
Ce-test-xcode는 XcodeBuildMCP 서버를 사용하여 시뮬레이터에서 iOS 앱을 빌드, 설치 및 테스트하며, 스크린샷과 로그를 캡처하고 앱 동작을 검증합니다. 스키마 이름을 선택적 인수로 받거나, 기본값 또는 마지막으로 사용된 스키마를 사용하려면 "current"를 전달합니다. 필수 조건으로는 명령줄 도구가 포함된 Xcode, 연결된 XcodeBuildMCP MCP 서버, 유효한 Xcode 프로젝트 또는 워크스페이스, 그리고 최소 하나의 사용 가능한 iOS 시뮬레이터가 필요합니다. 모델 호출이 비활성화되어 있으므로 명시적인 명령으로 실행됩니다.
워크플로우는 먼저 list_simulators 도구를 호출하여 XcodeBuildMCP가 연결되어 있는지 확인하며, 연결되어 있지 않으면 설치 안내와 함께 중단됩니다. 그런 다음 discover_projs 및 list_schemes를 통해 프로젝트와 스키마를 검색하고, UUID를 사용하여 iPhone 15 Pro와 같은 선호하는 시뮬레이터를 부팅한 후 build_ios_sim_app으로 앱을 빌드하며, 실패 시 구체적인 오류를 보고합니다. 성공하면 install_app_on_simulator 및 launch_app_on_simulator를 통해 앱을 설치하고 실행한 후 로그 캡처를 시작합니다. 주요 화면마다 설명적인 스크린샷을 촬영하고 렌더링 및 콘텐츠를 검토하며, 로그에서 충돌, 예외, 오류 수준 메시지 및 실패한 네트워크 요청을 확인합니다.
이 스킬은 알려진 플랫폼 제한 사항을 문서화합니다: 시뮬레이터 탭은 인라인 AttributedString 링크가 포함된 SwiftUI Text 뷰에서 제스처 인식기를 트리거하지 못하므로, 수동 탭을 요청하거나 대체 수단으로 xcrun simctl openurl을 제공합니다. Sign in with Apple, 푸시 알림, 인앱 구매, 카메라 및 사진, 위치 등 기기 상호작용이 필요한 플로우에서는 AskUserQuestion과 같은 플랫폼의 차단 질문 도구를 사용하여 인간의 검증을 위해 일시 중지합니다. 테스트 실패 시 스크린샷과 로그로 오류를 문서화하고, 지금 수정할지 아니면 건너뛸지 묻습니다. 마지막으로 구조화된 테스트 요약 테이블과 로그 캡처를 중지하고 선택적으로 시뮬레이터를 종료하는 정리 단계를 포함하여 마무리합니다. 또한 ce-code-review 워크플로우와 통합되어, iOS 코드를 수정하는 PR에 대해 이 스킬을 실행하도록 에이전트를 생성할 수 있습니다.
자주 묻는 질문
이 스킬에 필요한 MCP 서버는 무엇입니까?
XcodeBuildMCP MCP 서버가 연결되어 있어야 합니다. 워크플로우는 list_simulators 도구를 호출하여 가용성을 확인하며, XcodeBuildMCP가 작동할 때까지 진행하지 않습니다. 누락된 경우 Homebrew 및 npx 설치 지침을 제공합니다.
테스트할 스키마를 어떻게 선택합니까?
인수로 스키마 이름을 전달하거나, 기본값 또는 마지막으로 사용된 스키마를 사용하려면 "current"를 전달합니다. 이 스킬은 discover_projs 및 list_schemes를 통해 프로젝트와 스키마를 검색하며, 인수가 제공된 경우 해당 인수를 사용합니다.
시뮬레이터에서 SwiftUI 텍스트 링크 탭이 작동하지 않는 이유는 무엇입니까?
인라인 AttributedString 링크가 포함된 SwiftUI Text 뷰에서 시뮬레이터 탭은 접근성 트리에서 별도의 요소로 노출되지 않기 때문에 제스처 인식기를 트리거하지 않습니다. 이 스킬은 수동으로 탭하라고 요청하며, 대체 수단으로 알려진 대상 URL을 직접 열기 위해 xcrun simctl openurl을 사용할 수 있습니다.
언제 인간의 입력을 기다립니까?
Sign in with Apple, 푸시 알림, 인앱 구매, 카메라 및 사진, 위치 등 실제 기기 상호작용이 필요한 플로우에서 일시 중지하며, 플랫폼의 차단 질문 도구를 통해 요청하고 검증 과정을 silently 건너뛰지 않습니다.
테스트 실패 후 어떻게 처리합니까?
오류 상태의 스크린샷, 캡처된 콘솔 로그, 재현 노트를 포함하여 실패 사항을 문서화한 후, 지금 수정할지(디버깅, 수정 제안, 재빌드 및 재테스트) 아니면 건너뛰고 다른 화면 테스트를 계속할지 묻습니다.
Build and exercise an iOS app on a simulator, preserving screenshots, logs, human-verification results, and failures as evidence for the user.
Done:
- A completed run reports overall
PASS,FAIL, orPARTIALplus project, scheme, simulator, build result, per-surfacePASS/FAIL/SKIP, console errors, human checks, and residual failures. - Per-surface status is derived from evidence, not the user's routing choice.
PASSrequires completed passing evidence.FAILrecords observed failing evidence until a completed retest replaces it.SKIPmeans the check has no completed outcome. - The overall result is
FAILwhile any failure remains,PARTIALwhen no failure remains but a scoped check is skipped, and otherwisePASS. - Any failure before the launched-with-log-capture handoff stops later stages and reports an actionable setup blocker with its evidence.
Boundaries: this skill tests and reports. Diagnosis and any user-approved product fix belong to ce-debug, invoked with authority narrowed to return here without committing, pushing, or opening a PR. Keep simulator interaction within the app and flows the user placed in scope.
Run
- Prepare and launch. Read
references/setup-and-build.md. It owns the XcodeBuildMCP availability gate, project and scheme discovery, simulator choice, build, install, launch, and log-capture start. - Exercise and report. After launch, read
references/test-and-report.md. It owns per-screen evidence, human-only flows, the SwiftUI inline-link automation limitation, failure routing, cleanup, and the fixed summary fields.
Do not replace either required read with remembered tool names. XcodeBuildMCP adapters differ by host, while their observable success conditions do not.
ce-test-xcode 설치
스킬 파일을 다운로드하여 .claude/skills/ 디렉토리에 추출하세요.
ZIP 다운로드저장소를 클론하고 스킬 파일을 프로젝트에 복사하세요.
git clone https://github.com/EveryInc/compound-engineering-plugin/blob/main/skills/ce-test-xcode/SKILL.md # Copy SKILL.md to your .claude/skills/ directory
복사





집
