Jacky's blog
首页
  • 学习笔记

    • web
    • android
    • iOS
    • vue
  • 分类
  • 标签
  • 归档
收藏
  • tool
  • algo
  • python
  • java
  • server
  • growth
  • frida
  • blog
  • SP
  • more
GitHub (opens new window)

Jack Yang

编程; 随笔
首页
  • 学习笔记

    • web
    • android
    • iOS
    • vue
  • 分类
  • 标签
  • 归档
收藏
  • tool
  • algo
  • python
  • java
  • server
  • growth
  • frida
  • blog
  • SP
  • more
GitHub (opens new window)
  • iOS 学习导航
    • 定位
    • 一、官方文档总入口
    • 二、按场景查文档
      • 2.1 语言问题(Swift / Objective-C)
      • 2.2 UI 相关
      • 2.3 数据存储
      • 2.4 网络
      • 2.5 多线程与并发
      • 2.6 应用生命周期
      • 2.7 调试与性能
      • 2.8 发布与上架
      • 2.9 系统能力
    • 三、开发环境
    • 四、常用第三方库(按需引入)
    • 五、学习路径建议
    • 六、外部资源
    • 七、常见问题速查
  • 调研

  • other

  • 《iOS》
Jacky
2025-07-16
目录

iOS 学习导航

# 定位

本文不是教程,是查询导航。遇到问题时,按场景找到对应的官方文档或工具入口,直接去查,不在这里长篇展开。


# 一、官方文档总入口

资源 地址 用途
Apple Developer 文档 https://developer.apple.com/documentation API 参考、框架文档(英文,用浏览器整页翻译)
Swift 语言手册 https://docs.swift.org/swift-book/ 语法、语言特性
WWDC 视频 https://developer.apple.com/videos/ 新特性发布、最佳实践(有中文字幕)
开发者论坛 https://developer.apple.com/forums/ 官方工程师答疑

API 文档无官方中文版,Chrome 右键"翻译为中文"是最实用的方案,代码块不受影响。


# 二、按场景查文档

# 2.1 语言问题(Swift / Objective-C)

问题 查哪里
语法、可选类型、协议、泛型 Swift Book → The Basics / Language Guide
与 OC 混编、桥接 developer.apple.com → 搜 "Swift and Objective-C in the Same Project"
并发(async/await、Task、Actor) Swift Book → Concurrency 章节
宏(Macro) developer.apple.com → 搜 "Macros"

# 2.2 UI 相关

问题 查哪里
UIKit 组件(UIView、UIViewController 等) https://developer.apple.com/documentation/uikit
Auto Layout / 约束 搜 "Auto Layout Guide"
SwiftUI 视图与布局 https://developer.apple.com/documentation/swiftui
SwiftUI 状态管理(@State、@ObservedObject、@Environment) SwiftUI → State and Data Flow
列表 / 表格 UITableView / UICollectionView / List
导航 UINavigationController / NavigationStack
Window / Scene UIWindow、UIWindowScene、UIScene

# 2.3 数据存储

场景 查哪里
轻量偏好设置 UserDefaults
关系型数据 / 本地数据库 Core Data 或 SwiftData(iOS 17+)
文件读写 FileManager、FileManager.SearchPathDirectory
键值加密存储 Keychain(Security 框架)
大文件 / 缓存 URLCache、NSCache

# 2.4 网络

场景 查哪里
HTTP / HTTPS 请求 URLSession、URLRequest
JSON 编解码 Codable、JSONEncoder / JSONDecoder
WebSocket URLSessionWebSocketTask
后台下载 / 上传 URLSessionConfiguration.background
网络状态 NWPathMonitor(Network 框架)

# 2.5 多线程与并发

场景 查哪里
现代并发(推荐) async/await、Task、Actor
旧代码维护 GCD(DispatchQueue)、OperationQueue
主线程更新 UI MainActor / DispatchQueue.main
定时器 Timer、Task.sleep

# 2.6 应用生命周期

场景 查哪里
App 启动 / 前后台 UIApplicationDelegate、UISceneDelegate
SwiftUI App 生命周期 App 协议、@main
后台执行 BGTaskScheduler、Background Tasks
通知 UserNotifications 框架

# 2.7 调试与性能

问题 工具 / 文档
崩溃排查 Xcode 崩溃报告、MetricKit、Crashlytics
内存泄漏 / 循环引用 Instruments → Leaks、Allocations
性能瓶颈 Instruments → Time Profiler
启动耗时 Instruments → App Launch
视图层级调试 Xcode → Debug View Hierarchy
控制台日志 OSLog(推荐)、print
单元 / UI 测试 XCTest

# 2.8 发布与上架

场景 查哪里
证书与签名 developer.apple.com → Account → Certificates
TestFlight 内测 App Store Connect → TestFlight
App Store 审核指南 https://developer.apple.com/app-store/review/guidelines/
隐私清单(Privacy Manifest) 搜 "Privacy Manifest Files"
内购(IAP) StoreKit 框架
上架提交流程 App Store Connect Help

# 2.9 系统能力

能力 框架
定位 / 地图 CoreLocation、MapKit
相机 / 相册 AVFoundation、Photos(PHPicker)
蓝牙 CoreBluetooth
健康数据 HealthKit
Widget / 锁屏组件 WidgetKit
推送通知 UserNotifications + APNs
Face ID / Touch ID LocalAuthentication
快捷指令 App Intents

# 三、开发环境

工具 说明
Xcode 官方 IDE,Mac App Store 安装
Simulator Xcode 自带模拟器
Instruments Xcode → Open Developer Tool → Instruments
Swift Package Manager Xcode → File → Add Package Dependencies
CocoaPods 老项目仍在用,新项目优先 SPM
Fastlane 自动化打包、签名、上架(命令行)

# 四、常用第三方库(按需引入)

用途 库
网络请求 Alamofire(简单场景用 URLSession 即可)
图片加载 Kingfisher(SwiftUI/UIKit)、SDWebImage(OC 老项目)
自动布局 SnapKit(UIKit 代码布局)
JSON 系统 Codable 足够,一般不需要第三方
数据库 Realm(替代 Core Data 的轻量方案)

原则:能不用第三方就不用,系统框架优先,减少维护成本和审核风险。


# 五、学习路径建议

阶段 重点
入门(0-1月) Swift 语法基础 + Xcode 操作 + 写一个简单 UIKit 页面
基础(1-3月) Auto Layout、UITableView、网络请求、数据存储、GCD
进阶(3-6月) SwiftUI、async/await、架构模式(MVVM)、内存管理、Instruments
高级(6月+) 性能优化、组件化、CI/CD、系统能力深度集成

# 六、外部资源

资源 地址 说明
Stanford CS193p https://cs193p.sites.stanford.edu/ 经典公开课,SwiftUI 版
Ray Wenderlich https://www.raywenderlich.com/ 高质量教程(付费为主)
AppCoda https://www.appcoda.com/ 初学者友好
Hacking with Swift https://www.hackingwithswift.com/ 免费,Paul Hudson,示例丰富
开源 iOS App 集合 https://github.com/dkhamsing/open-source-ios-apps 参考项目结构

# 七、常见问题速查

问题 答案
必须用 Mac 吗? 是,Xcode 仅支持 macOS
Swift 还是 OC? 新项目学 Swift,维护老项目再补 OC
最低支持版本? 目前建议 iOS 15+,覆盖绝大多数设备
用 UIKit 还是 SwiftUI? 新项目优先 SwiftUI;需要精细控制或兼容老系统用 UIKit
遇到崩溃怎么办? 先看崩溃栈 → 定位代码行 → 复现 → 加断点排查
文档看不懂? 浏览器整页翻译 + 看官方示例代码(每个 API 页面底部常有 sample)
#iOS#base
上次更新: 2026/09/10, 20:52:09
iOS横屏播放

iOS横屏播放→

最近更新
01
direnv
09-09
02
nvim
09-09
03
wget
09-09
更多文章>
Theme by Vdoing | Copyright © 2019-2026 Jacky | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式