CodeRoadMap
首页路线题库资源库文章社区
CodeRoadMap

程序员的学习成长路线图。内容免费开放,登录后可同步路线图与课时进度。

由 程序员柏风 独立维护 · 关于作者

学习

  • 路线图
  • 课程
  • 面试题
  • 文章
  • 我

更多

  • 资源
  • 社区
  • 关于作者
  • 内容说明

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
iOS 开发入门/课时/依赖管理与 CI
RawBlame
课时目录12 节

iOS 开发入门

  1. 01iOS 生态与 Xcode
  2. 02Swift 语言基础
  3. 03UIKit 与 Interface Builder
  4. 04SwiftUI 入门
  5. 05架构模式
  6. 06数据持久化
  7. 07网络与 API
  8. 08并发与响应式
  9. 09依赖管理与 CI
  10. 10测试与调试
  11. 11上架与 ASO
  12. 12综合练习

依赖管理与 CI

SPM、CocoaPods、Fastlane。

30 分钟

依赖管理与 CI

iOS 依赖管理以 Swift Package Manager(SPM) 为主,CocoaPods 仍见于老项目;Fastlane 自动化构建与发布。对照 /roadmaps/ios「Dependencies & CI」节点。

学习目标

  • 用 SPM 添加第三方库(如 Alamofire、Kingfisher)
  • 了解 CocoaPods 的 Podfile 工作流
  • 配置 Fastlane 或 Xcode Cloud 基础 CI
  • 对照 Maven/Gradle 与 GitHub Actions

核心概念

Swift Package Manager

Xcode → File → Add Package Dependencies,或 Package.swift:

// Package.swift(库项目)
// swift-tools-version: 5.9
import PackageDescription

let package = Package(
    name: "TrackKit",
    platforms: [.iOS(.v16)],
    products: [
        .library(name: "TrackKit", targets: ["TrackKit"]),
    ],
    dependencies: [
        .package(url: "https://github.com/Alamofire/Alamofire.git", from: "5.8.0"),
    ],
    targets: [
        .target(
            name: "TrackKit",
            dependencies: ["Alamofire"]
        ),
        .testTarget(
            name: "TrackKitTests",
            dependencies: ["TrackKit"]
        ),
    ]
)

SPM 与 Xcode 深度集成,无需额外工具链;Apple 官方推荐。

CocoaPods

# Podfile
platform :ios, '16.0'
use_frameworks!

target 'CodeRoadMap' do
  pod 'Alamofire', '~> 5.8'
  pod 'SnapKit', '~> 5.6'
end
pod install        # 生成 .xcworkspace,之后用 workspace 打开
pod update         # 更新依赖

CocoaPods 生态历史久,部分库仅提供 Podspec;新项目优先 SPM,必要时混用。

Fastlane 自动化

# fastlane/Fastfile
default_platform(:ios)

platform :ios do
  desc "运行单元测试"
  lane :test do
    run_tests(scheme: "CodeRoadMap")
  end

  desc "TestFlight 上传"
  lane :beta do
    build_app(scheme: "CodeRoadMap")
    upload_to_testflight
  end
end

Fastlane 统一 build → test → sign → upload 流程;配合 GitHub Actions / GitLab CI 在 push 时触发。

与 Java/Spring 或 React 对照

iOSJavaNode / React
SPMMaven Centralnpm
CocoaPods较少用—
Xcode Buildmvn package
npm run build
FastlaneJenkins / GitHub ActionsGitHub Actions
Code Signing——
Xcode Cloud—Vercel

Spring 项目 CI 常见 GitHub Actions + ./mvnw test;iOS 额外需 证书与 Provisioning Profile 管理(Match 可共享)。

练习

  • 用 SPM 引入 Alamofire,发一个 GET 请求
  • 编写 Fastlane test lane,本地跑通
  • 在 GitHub Actions 配置 xcodebuild test(macOS runner)

小结

SPM 首选依赖;Fastlane + CI 自动化交付。 下一课测试与调试。见 ios-essentials。

加载本节练习…
← 上一课并发与响应式下一课 →测试与调试