关于 macos-xcode
macos-xcode 是用于在 macOS 上自动化 Xcode 开发任务的技能,面向 iOS 和 macOS 项目,涵盖命令行构建、模拟器测试、签名和性能分析。
主要功能
- 01使用 xcodebuild 构建、归档和测试
- 02通过 xcrun simctl 管理模拟器
- 03管理签名身份和描述文件
- 04使用 Instruments 分析应用
- 05定位 Xcode 工具和 SDK
适用场景
- 01构建并归档 iOS 应用
- 02在模拟器中安装并启动应用
- 03检查签名证书和描述文件
- 04分析应用性能
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ alphaonedev/ openclaw-graph --skill macos-xcode安装后在 Claude Code 中输入/macos-xcode确认已加载。
详细介绍
macos-xcode
用途
此技能可帮助 AI 处理 macOS 上与 Xcode 相关的任务,重点是使用命令行工具构建、测试和部署 iOS/macOS 应用。涵盖代码签名、模拟器管理和性能分析等核心功能,以实现开发工作流自动化。
适用场景
用于涉及 iOS 应用编译、模拟器测试或描述文件管理的任务。可应用于 macOS 构建的 CI/CD 流水线、使用 Instruments 调试,或自动化 xcodebuild 流程。请勿用于非 Apple 平台或仅通过 GUI 与 Xcode 交互的场景。
主要功能
- 执行 xcodebuild 命令,以构建、归档和测试项目。
- 通过 xcrun simctl 管理模拟器,包括启动设备和安装应用。
- 使用 security 命令、描述文件和证书处理代码签名。
- 使用 Instruments 对应用进行性能分析。
- 使用 xcrun 查询 Xcode 安装,以查找工具和 SDK。
- 自动化 iOS/macOS 应用工作流,包括方案选择和配置管理。
- 与 macOS 钥匙串集成,以安全地处理签名身份。
使用模式
始终在已安装 Xcode 的 macOS 环境中运行命令。调用 xcodebuild/xcrun 前先检查 Xcode 是否可用,例如确认 $xcode-select -p 输出有效路径。在 AI 回复中,可生成封装这些命令的 bash 脚本,并确保重定向错误输出(例如 > output.log 2>&1)。对于自动化,可通过 subprocess 在 Python 脚本中调用:导入 subprocess 并执行 subprocess.run(['xcodebuild', '-list'])。动态处理路径,使用 $DEVELOPER_DIR 等环境变量指向 Xcode 安装位置。
常用命令/API
- 构建项目:
xcodebuild -project MyApp.xcodeproj -scheme MyScheme -configuration Release build - 列出方案:
xcodebuild -list(在脚本中使用输出解析可用方案)。 - 启动模拟器:
xcrun simctl boot "iPhone 15";然后执行xcrun simctl install booted MyApp.ipa - 代码签名:
xcodebuild -exportArchive -archivePath MyApp.xcarchive -exportPath output.ipa -exportOptionsPlist ExportOptions.plist(创建包含 {"method": "app-store"} 的 ExportOptions.plist)。 - 运行 Instruments:
instruments -w "iPhone 15" -t Time Profiler MyApp - 查询工具:使用
xcrun --find xcodebuild获取路径;在代码中使用:path = subprocess.check_output(['xcrun', '--find', 'xcodebuild']).decode().strip() - 描述文件:使用
security find-identity -v -p codesigning列出证书,然后通过-signingIdentity "iPhone Developer: Name (ID)"在 xcodebuild 中指定。
集成说明
通过设置环境变量来集成敏感数据,例如使用 $XCODE_SIGNING_IDENTITY 指定代码签名身份。对于 CI/CD,请确保通过 xcode-select --install 安装 Xcode,并设置 $DEVELOPER_DIR=/Applications/Xcode.app。与其他技能结合使用时,可通过管道传递输出(例如,使用 macos-core 处理文件操作)。对于类似 API 的交互,可将 xcrun/xcodebuild 封装为 RESTful 服务;若要访问 Apple 服务,则使用 $APPLE_DEVELOPER_KEY 等环境变量。始终检查 Xcode 版本兼容性,例如,某些 simctl 功能要求版本 >=14.0。
错误处理
检查常见错误,例如“Code Sign error: No matching provisioning profile found”,方法是使用 security cms -D -i profile.mobileprovision 验证描述文件;可运行 xcodebuild -fixit 或更新 ExportOptions.plist 来修复。对于模拟器问题(例如“Device not booted”),使用 xcrun simctl list devices 检查状态,并通过脚本启动:如果设备尚未启动,则运行 xcrun simctl boot <udid>。解析退出代码(例如,构建错误对应代码 65)并记录输出,以处理 xcodebuild 失败。在脚本中使用 try-except:try: subprocess.run([...]) except subprocess.CalledProcessError as e: print(e.output)。始终添加 --verbose 标志以获取详细日志。
具体使用示例
示例 1:构建并归档 iOS 应用
要构建并归档项目,请先确保已选中 Xcode:xcode-select -s /Applications/Xcode.app。然后运行:
xcodebuild -workspace MyApp.xcworkspace -scheme MyScheme -configuration Release archive -archivePath build/MyApp.xcarchive
xcodebuild -exportArchive -archivePath build/MyApp.xcarchive -exportPath output -exportOptionsPlist options.plist
这会生成一个 IPA 文件;可在 AI 响应中使用,以自动完成应用打包并进行测试。
示例 2:启动模拟器并安装应用
要在模拟器上测试,请启动设备并安装应用:
xcrun simctl boot "iPhone 15"
xcrun simctl install booted MyApp.ipa
xcrun simctl launch booted com.example.MyApp
通过 xcrun simctl status booted 监控;将其集成到 AI 工作流中,以实现自动化 UI 测试。
图关系
- 连接到:macos(集群),因为它们共用 macOS 依赖项。
- 相关于:ios(标签),适用于重叠的 iOS 构建流程。
- 链接到:build(标签),用于与其他构建工具集成。
- 关联到:signing(标签),用于管理相关技能中的证书。
- 与以下内容重叠:xcode(标签),因为它是 macOS 开发生态系统的核心组件。