apple-build
Skill0 starsChanged 5 months agoNo licenceView on GitHub
Apple / Xcode 빌드 & 프로젝트-구성 (xcodegen Project.yml / xcodebuild / SourceKit / cross-platform 타겟) 의 다섯 가지 함정을 증상별로 진단하고 맞는 fix shard 로 라우팅한다 — Apple build & project-config pitfalls. (1) xcodegen `Project.yml` 에서 app 과 widget/extension 타겟이 소스 파일을 share 못 함 — extension 타겟 빌드에서만 "cannot find 'XYZ' in scope", `LiveActivityIntent` 가 메인 앱 싱글톤 참조 → extension 타겟 `sources:` 에 그 파일 명시 추가 → xcodegen-share-files-widget-extension. (2) 잘못된 Xcode / `DEVELOPER_DIR` — 빌드가 wrong toolchain 이나 Xcode-beta 를 씀, `xcode-select` 가 CommandLineTools 라 "tool 'xcodebuild' requires Xcode", xcodebuild 가 wrong SDK 를 고름 → `DEVELOPER_DIR=...` 명령 단위 우회 → xcodebuild-developer-dir-override. (3) SourceKit / IDE 가 "No such module 'X'" 를 보이는데 `xcodebuild` 는 SUCCEEDS — stale index false alarm 이니 `import` 를 *지우지 말 것* → sourcekit-stale-no-such-module. (4) watchOS 타겟이 큰 shared iOS view 를 컴파일하다 깨짐 — `.popover` / `.fileImporter` / segmented modifier 에러가 두더지 잡기로 끝없이 나옴 → xcodegen `excludes:` 로 watchOS 가 안 쓰는 view 원천 제외 → apple-watchos-target-exclude-shared-views. (5) SwiftUI modifier 가 한 플랫폼에서 unavailable — view 파일을 iOS+macOS+watchOS 가 공유 컴파일할 때 "X is unavailable in watchOS/macOS", `textInputAutocapitalization` no member → `#if os()` 한 줄 가드 → swiftui-cross-platform-conditional-modifiers. (6) Swift 6 strict concurrency (`SWIFT_STRICT_CONCURRENCY=complete`) 가 AppIntent `static var title` / `static var description` 등에서 "Static property is not concurrency-safe ... nonisolated global shared mutable state" → `static var` → `static let` → appintent-static-let. (7) Swift 6 strict concurrency 가 non-Sendable Apple 타입 (ActivityKit `Activity<T>`, WatchConnectivity `WCSession`, `[String Any]` payload) 을 actor boundary 너머로 보낼 때 "sending 'X' risks causing data races" → Apple 타입은 `@retroactive @unchecked Sendable`, payload 는 `Box` → sending-non-sendable. 트리거 — xcodegen, Project.yml, DEVELOPER_DIR, xcode-select, "No such module", `#if os(watchOS)`, `.fileImporter`, textInputAutocapitalization, "cannot find in scope", "requires Xcode", "is unavailable in watchOS", SWIFT_STRICT_CONCURRENCY, `@retroactive`, ActivityKit, "not concurrency-safe", "sending ... risks causing data races".
In this repository21 other files it gives its agents.
- adsense-content-approval-strategySkill
- bulk-data-via-script-not-tokensSkill
- consulting-deck-craftSkill
- data-go-kr-api-quirksSkill
- design-policySkill
- docs-toc-shards-styleSkill
- external-content-citation-policySkill
- feature-flag-removalSkill
- geometric-folding-fabricationSkill
- geometric-foldingSkill
- git-commit-message-qualitySkill
- kakao-map-client-nav-relayoutSkill
- leaflet-marker-hitboxSkill
- macos-nativeSkill
- mit-ocw-vaultSkill
- obsidian-dailySkill
- obsidian-knowledgeSkill
- ssg-determinismSkill
- swiftuiSkill
- tier-grading-systemSkill
- writing-tone-personalSkill
The file
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

