mcpField
M
macos-xcode

macos-xcode

github.com/alphaonedev开发44 次安装
代码仓库

关于 macos-xcode

macos-xcode 是用于在 macOS 上自动化 Xcode 开发任务的技能,面向 iOS 和 macOS 项目,涵盖命令行构建、模拟器测试、签名和性能分析。

主要功能

  1. 01使用 xcodebuild 构建、归档和测试
  2. 02通过 xcrun simctl 管理模拟器
  3. 03管理签名身份和描述文件
  4. 04使用 Instruments 分析应用
  5. 05定位 Xcode 工具和 SDK

适用场景

  1. 01构建并归档 iOS 应用
  2. 02在模拟器中安装并启动应用
  3. 03检查签名证书和描述文件
  4. 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 开发生态系统的核心组件。

评论

支持 Markdown