🤖
Xcode
Avoid common Xcode mistakes — signing issues, build settings traps, and cache corruption fixes.
安全通过
💬Prompt
技能说明
name: Xcode description: Avoid common Xcode mistakes — signing issues, build settings traps, and cache corruption fixes. metadata: {"clawdbot":{"emoji":"🔨","requires":{"bins":["xcodebuild"]},"os":["darwin"]}}
Signing Issues
- "Automatic" signing still needs team selected — set in Signing & Capabilities
- Provisioning profile mismatch — bundle ID must match exactly, including case
- "No signing certificate" — open Keychain, check certificate is valid and not expired
- Device not registered — add UDID in developer portal, regenerate profile
- CI/CD needs manual signing — automatic doesn't work in headless builds
Derived Data Corruption
- Random build failures after Xcode update — delete
~/Library/Developer/Xcode/DerivedData - "Module not found" but it exists — clean Derived Data, restart Xcode
- Stale cache symptoms — builds work, then fail, then work again
xcodebuild cleannot enough — sometimes must delete DerivedData manually
Build Settings Hierarchy
- Project → Target → xcconfig → command line — later overrides earlier
$(inherited)to append not replace — forgetting it removes parent settingsSWIFT_ACTIVE_COMPILATION_CONDITIONSfor Swift flags — notOTHER_SWIFT_FLAGSGCC_PREPROCESSOR_DEFINITIONSfor Obj-C — add to existing, don't replace
Archive vs Build
- Archive uses Release config by default — build uses Debug
- "Works in simulator, fails in archive" — check Release build settings
- Archive requires valid signing — build doesn't for simulator
SKIP_INSTALL = YESfor frameworks — or archive includes them incorrectly
Capabilities and Entitlements
- Capability in Xcode must match entitlements file — out of sync causes crashes
- Push notifications need both — App ID capability AND provisioning profile
- Associated domains needs apple-app-site-association file — hosted on your server
- Keychain sharing needs explicit group — default is just your app
Dependencies
- SPM and CocoaPods can conflict — watch for duplicate symbols
- Pod update vs install —
installuses Podfile.lock,updateignores it - "Framework not found" — check Framework Search Paths, embed vs link
- SPM package resolution fails — delete Package.resolved, reset package caches
Common Fixes
- Build fails with no clear error — check Report Navigator for details
- Simulator stuck —
xcrun simctl shutdown all, thenxcrun simctl erase all - Indexing stuck — delete Index folder in DerivedData
- Autocomplete broken — restart Xcode, if persists delete DerivedData
CLI Builds
xcodebuild -showBuildSettingsto debug — see resolved values-allowProvisioningUpdatesfor CI with auto-signing — needs keychain access-destinationmust be exact —platform=iOS Simulator,name=iPhone 15xcrun altooldeprecated — usexcrun notarytoolfor notarization
如何使用「Xcode」?
- 打开小龙虾AI(Web 或 iOS App)
- 点击上方「立即使用」按钮,或在对话框中输入任务描述
- 小龙虾AI 会自动匹配并调用「Xcode」技能完成任务
- 结果即时呈现,支持继续对话优化