mcpField
I
ios-swift

ios-swift

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

关于 ios-swift

面向 iOS 应用开发者的 Swift 开发技能,涵盖 UIKit、SwiftUI 和 Xcode,也涉及并发模式与项目结构管理。

主要功能

  1. 01生成 UIKit 视图代码
  2. 02构建 SwiftUI 界面
  3. 03使用 async/await 并发
  4. 04管理 Xcode target 和 scheme

适用场景

  1. 01创建 iOS 应用界面组件
  2. 02处理异步网络请求
  3. 03为应用扩展配置 target
  4. 04排查 Swift 错误与构建问题

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/alphaonedev/openclaw-graph --skill ios-swift

安装后在 Claude Code 中输入/ios-swift确认已加载。

详细介绍

ios-swift

用途

此技能使 AI 能够协助基于 Swift 的 iOS 开发,重点关注 UIKit 和 SwiftUI 基础知识、并发模式以及 Xcode 项目管理,从而高效构建应用。

适用场景
  • 生成 iOS UI 组件代码,例如在 UIKit 或 SwiftUI 中创建视图。
  • 处理 iOS 应用中的异步操作,例如网络请求或计时器。
  • 组织或修改 Xcode 项目,包括多应用配置中的 targets 和 schemes。
  • 调试 Swift 错误或 Xcode 构建问题。
主要能力
  • 生成基础视图的 UIKit 代码:例如,创建包含生命周期方法的 UIViewController 子类。
  • 构建 SwiftUI 界面:例如,定义遵循 View 协议的结构体,以声明式方式构建布局。
  • 实现 Swift 并发:使用 async/await 执行 API 调用等任务,并确保线程安全。
  • 管理 Xcode 结构:为应用扩展定义 targets、为构建配置定义 schemes,并处理 .xcodeproj 等项目文件。
使用模式
  • 首先导入必要的框架:Swift 文件始终以 import UIKit 或 import SwiftUI 开头。
  • 对于并发,将阻塞操作封装在异步函数中:定义函数 func fetchData() async -> Data { ... },并通过 Task { await fetchData() } 调用。
  • 使用 Xcode 时,直接引用项目文件:使用 ./MyApp.xcodeproj 等路径,并在命令中指定 targets。
  • 按顺序集成各项模式:先设置项目结构,再添加 UI 元素,最后处理并发,以避免死锁。
常用命令/API
  • Xcode CLI:使用 xcodebuild -workspace MyWorkspace.xcworkspace -scheme MyScheme -configuration Debug build 编译项目;添加 -sdk iphonesimulator 以进行模拟器测试。
  • SwiftUI API:使用 struct MyView: View { var body: some View { Text("Hello").padding() } } 创建基本视图;在应用入口点中渲染该视图。
  • UIKit API:使用 let vc = UIViewController(); vc.view.backgroundColor = .white; present(vc, animated: true) 初始化视图控制器。
  • 并发代码片段:
    func loadImage() async throws -> UIImage {
        let data = try await URLSession.shared.data(from: URL(string: "https://example.com/image")!)
        return UIImage(data: data.0) ?? UIImage()
    }
    
  • 配置格式:通过 GUI 或 .pbxproj 文件编辑 Xcode schemes;例如,在 scheme 编辑器中添加构建设置 "GCC_PREPROCESSOR_DEFINITIONS = DEBUG=1"。
集成说明
  • 需要安装 Xcode;通过 xcode-select -p 检查,并在使用自定义路径时设置 $XCODE_PATH 环境变量(例如,export XCODE_PATH=/Applications/Xcode.app)。
  • 对于 App Store Connect 等 Apple 服务,在脚本中使用 $APPLE_API_KEY 进行身份验证:例如,通过 altool --upload-app -f myapp.ipa -u [email protected] -p $APPLE_API_KEY 将其传递给工具。
  • 与其他工具集成:在 Package.swift 中添加依赖以使用 Swift Package Manager,例如 .package(url: "https://github.com/apple/swift-algorithms", from: "1.0.0")。
  • 测试时,关联 iOS 模拟器:在命令中指定设备,例如 xcodebuild test -scheme MyScheme -destination 'platform=iOS Simulator,name=iPhone 14'。
错误处理
  • 在 Swift 中,使用 try-catch 处理可抛出的错误:do { let data = try await fetchData() } catch let error { print("Error: \(error.localizedDescription)") },以处理异步操作失败。
  • 对于 Xcode 构建,解析 xcodebuild 输出以查找常见错误:例如,如果出现 "Code Sign error: No matching provisioning profile found",请确保通过 xcodebuild -exportArchive -archivePath build/MyApp.xcarchive -exportPath output -exportOptionsPlist ExportOptions.plist 设置配置文件。
  • 检查并发错误:使用支持取消的 Task,例如 let task = Task { try await function() }; task.cancel(),以避免资源泄漏。
  • 调试 UI 问题:在 UIKit 中重写 viewDidLoad 以记录错误;在 SwiftUI 中使用 .onAppear { print("View appeared") } 跟踪生命周期问题。
具体使用示例
  1. 为 iOS 应用创建一个简单的 SwiftUI 视图:首先,使用 struct ContentView: View { var body: some View { VStack { Text("Welcome").font(.title) Button("Tap") { print("Tapped") } } } } 生成一个新的 Swift 文件;然后,将其添加到主 App 结构体中并使用 xcodebuild -scheme MyApp build 构建,将其集成到 Xcode 项目中。
  2. 在现有 Xcode 项目中设置新目标:使用 Xcode 图形界面添加目标(例如,App Extension),或通过编辑 .xcodeproj/project.pbxproj 添加新的 PBXNativeTarget 条目来编写脚本;然后使用 xcodebuild -target MyExtensionTarget -configuration Release 专门针对该目标进行构建。
图关系
  • 与以下集群相关:mobile(例如,共享 iOS 生态系统知识)。
  • 链接到:mobile-android(用于跨平台移动开发)、general-swift(用于更广泛的 Swift 语言功能)、ios-testing(用于 XCTest 集成)。

评论

支持 Markdown