<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>IOS 开发 on PlumePHP</title><link>https://plumephp.com/categories/ios-%E5%BC%80%E5%8F%91/</link><description>Recent content in IOS 开发 on PlumePHP</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Wed, 07 Oct 2026 07:55:00 +0800</lastBuildDate><atom:link href="https://plumephp.com/categories/ios-%E5%BC%80%E5%8F%91/index.xml" rel="self" type="application/rss+xml"/><item><title>Swift Package Manager 与模块化拆分</title><link>https://plumephp.com/swift-package-manager-modularization/</link><pubDate>Wed, 07 Oct 2026 07:55:00 +0800</pubDate><guid>https://plumephp.com/swift-package-manager-modularization/</guid><description>围绕 SPM 与工程模块化落地，讲清 Package.swift 清单与依赖声明、本地包与远程包的取舍、二进制目标与 XCFramework、模块边界与访问控制、条件编译与平台适配、多包工作区与构建缓存，并给出 Swift 6 语言模式的分批迁移路径与常见踩坑清单。</description></item><item><title>Core Animation 与 SwiftUI 动画</title><link>https://plumephp.com/ios-core-animation-swiftui-animation/</link><pubDate>Wed, 07 Oct 2026 07:50:00 +0800</pubDate><guid>https://plumephp.com/ios-core-animation-swiftui-animation/</guid><description>从渲染树讲清 Core Animation 的工作机制，梳理 CALayer 与 UIView 的分工、事务与隐式动画、CAAnimation 显式动画、CADisplayLink 帧同步，再对照 SwiftUI 的动画模型讲 withAnimation、transition、matchedGeometryEffect 与自定义 Animatable，并给出掉帧与离屏渲染的排查方法。</description></item><item><title>iOS 安全：Keychain、生物识别与传输安全</title><link>https://plumephp.com/ios-keychain-biometric-security/</link><pubDate>Wed, 07 Oct 2026 07:45:00 +0800</pubDate><guid>https://plumephp.com/ios-keychain-biometric-security/</guid><description>从 iOS 的安全边界讲起，梳理数据保护等级与 Keychain 的 kSecAttrAccessible 六种策略、SecAccessControl 访问控制、LocalAuthentication 生物识别与 Secure Enclave 密钥存储、App Transport Security 与证书固定、越狱检测与完整性校验，并给出常见的密钥与令牌管理反模式。</description></item><item><title>iOS 后台任务与 APNs 推送</title><link>https://plumephp.com/ios-background-tasks-push-notification/</link><pubDate>Wed, 07 Oct 2026 07:40:00 +0800</pubDate><guid>https://plumephp.com/ios-background-tasks-push-notification/</guid><description>系统梳理 iOS 后台执行与推送两条链路，讲清 BGTaskScheduler 的后台刷新与处理任务、后台 URLSession 会话、静默推送与 content-available 的配额限制、APNs 令牌与证书密钥鉴权、通知扩展与富媒体通知、到达率与限流，并给出调试与验证手段。</description></item><item><title>iOS 架构模式：MVVM 与 TCA</title><link>https://plumephp.com/ios-architecture-mvvm-tca/</link><pubDate>Wed, 07 Oct 2026 07:35:00 +0800</pubDate><guid>https://plumephp.com/ios-architecture-mvvm-tca/</guid><description>面向 SwiftUI 时代的状态架构选型，对比 MVVM 与 The Composable Architecture 两套方案，讲清 SwiftUI 下的绑定与副作用处理、单向数据流的必要性、TCA 的 State/Action/Reducer/Store 构件与作用域组合、依赖注入与环境、副作用的可测试性，并给出分层与模块边界的落地建议。</description></item><item><title>Swift 结构化并发与 Actor 隔离</title><link>https://plumephp.com/swift-structured-concurrency-actors/</link><pubDate>Wed, 07 Oct 2026 07:30:00 +0800</pubDate><guid>https://plumephp.com/swift-structured-concurrency-actors/</guid><description>从调度与隔离模型切入 Swift 并发，讲清结构化并发的任务树与 async let、TaskGroup 的并发语义、取消的协作式传播与检查点、Actor 隔离与可重入陷阱、Sendable 检查与 @MainActor 的 UI 更新约束、AsyncStream 背压策略，并给出数据竞争检测与 Swift 6 严格并发的迁移清单。</description></item><item><title>App Store 上架流程与签名机制</title><link>https://plumephp.com/ios-appstore-release/</link><pubDate>Fri, 02 Oct 2026 20:00:00 +0800</pubDate><guid>https://plumephp.com/ios-appstore-release/</guid><description>本文把 iOS 上架与签名讲透：从 Apple Developer Program 账号类型、Development 与 Distribution 证书的差异，到代码签名三要素（证书、描述文件、Entitlements）的协作机制；对比自动签名与手动签名的取舍，梳理 App ID 与 Capabilities 的配置、Archive 与导出 IPA 的完整链路、App Store Connect 元数据与隐私清单（Privacy Manifest）、App Review 常见拒审原因与申诉路径；最后覆盖 TestFlight 内测外测、分阶段发布与热更新限制、版本号与构建号管理，并给出上架 checklist 与常见坑清单。</description></item><item><title>iOS 测试体系与持续集成</title><link>https://plumephp.com/ios-testing-ci/</link><pubDate>Fri, 02 Oct 2026 19:00:00 +0800</pubDate><guid>https://plumephp.com/ios-testing-ci/</guid><description>本文构建一套可落地的 iOS 质量体系：从 XCTest 单元测试、XCUITest 界面测试、async 与 actor 并发测试，到依赖注入、协议 mock 与测试替身（stub/spy/fake）；覆盖测试金字塔与覆盖率策略、快照测试、Xcode 16 引入的 Swift Testing 新框架；再串起 Fastlane（scan/gym/match/pilot）、Xcode Cloud 与 GitHub Actions 自托管 runner、TestFlight 灰度分发、CI 证书与签名管理、构建缓存加速，并给出常见 CI 坑清单与取舍结论。</description></item><item><title>iOS 性能调优与 Instruments 剖析</title><link>https://plumephp.com/ios-performance-instruments/</link><pubDate>Fri, 02 Oct 2026 18:00:00 +0800</pubDate><guid>https://plumephp.com/ios-performance-instruments/</guid><description>本文系统讲解 iOS 性能调优的度量闭环。从冷热启动界定入手，拆解 pre-main 的 dyld 链接与静态初始化、main 到首帧的关键路径；逐一给出 Time Profiler、Allocations、Leaks、Animation Hitches、Energy Log 等 Instruments 模板的采样姿势与读图方法；覆盖主线程阻塞与布局开销导致的掉帧、离屏渲染与内存峰值、SwiftUI 视图更新代价、CADisplayLink 帧率度量，以及 Organizer 中 MetricKit 上报的卡顿与崩溃指标，并给出常见性能坑清单与取舍结论。</description></item><item><title>Swift 内存管理与 ARC 循环引用</title><link>https://plumephp.com/swift-arc-memory-management/</link><pubDate>Fri, 02 Oct 2026 17:00:00 +0800</pubDate><guid>https://plumephp.com/swift-arc-memory-management/</guid><description>ARC 让 Swift 摆脱了手动内存管理，但循环引用、闭包捕获、Timer 持有这些坑依然普遍。本文从 ARC 的引用计数原理讲起，梳理 strong/weak/unowned 的语义与取舍，逐一拆解闭包捕获 self、delegate、Timer、NotificationCenter 四类典型泄漏场景，讲解捕获列表的写法、值类型与写时复制、autoreleasepool 的适用时机，并给出用 Instruments 的 Leaks/Allocations 定位泄漏的完整流程与常见坑清单。</description></item><item><title>iOS 网络层设计与 URLSession</title><link>https://plumephp.com/ios-networking-urlsession/</link><pubDate>Fri, 02 Oct 2026 16:00:00 +0800</pubDate><guid>https://plumephp.com/ios-networking-urlsession/</guid><description>URLSession 是 iOS 网络请求的唯一官方底座。本文从 Session 配置（default/ephemeral/background）、任务类型、async/await 版 data(for:) 讲到请求构建与 URLComponents、Codable 解码与 CodingKeys、错误分类与指数退避重试、超时与 ATS、Token 刷新与认证、中间件式网络层分层设计、URLCache 缓存策略、上传下载与进度回调，并给出协议抽象加依赖注入的可测试方案与常见坑清单。</description></item><item><title>iOS 数据持久化 SwiftData 与 Core Data</title><link>https://plumephp.com/swiftdata-core-data/</link><pubDate>Fri, 02 Oct 2026 15:00:00 +0800</pubDate><guid>https://plumephp.com/swiftdata-core-data/</guid><description>SwiftData 与 Core Data 是 iOS 本地持久化的两条路线。本文从 @Model、ModelContainer、ModelContext、@Query 讲清 SwiftData（iOS 17/18）的声明式模型与 SwiftUI 集成，覆盖关系与级联删除、Schema 迁移 MigrationPlan、@ModelActor 后台并发、Predicate 谓词与批量操作性能；再对比 Core Data 的成熟能力与互操作边界，给出选型结论与迁移失败、上下文线程、N+1 等常见坑清单。</description></item><item><title>Swift 并发 Combine 与 async/await</title><link>https://plumephp.com/swift-combine-async-await/</link><pubDate>Fri, 02 Oct 2026 14:00:00 +0800</pubDate><guid>https://plumephp.com/swift-combine-async-await/</guid><description>系统梳理 Combine 的 Publisher/Subscriber/Operator 与常用操作符、AnyCancellable 与 @Published 绑定，以及 async/await 的 Task、async let、TaskGroup、actor、MainActor 与 AsyncSequence，给出互操作桥接、选型取舍与 Swift 6 严格并发下的 Sendable 检查。</description></item><item><title>UIKit 与 SwiftUI 混合开发</title><link>https://plumephp.com/uikit-swiftui-interop/</link><pubDate>Fri, 02 Oct 2026 13:00:00 +0800</pubDate><guid>https://plumephp.com/uikit-swiftui-interop/</guid><description>面向存量 UIKit 工程的渐进式迁移场景，讲清 UIHostingController 嵌入 SwiftUI、UIViewRepresentable 与 UIViewControllerRepresentable 封装 UIKit、Coordinator 桥接 delegate、两套导航与生命周期差异，以及尺寸布局键盘等常见坑，给出可落地的替换顺序与边界划分建议。</description></item><item><title>SwiftUI 声明式界面与状态管理</title><link>https://plumephp.com/swiftui-declarative-state/</link><pubDate>Fri, 02 Oct 2026 12:00:00 +0800</pubDate><guid>https://plumephp.com/swiftui-declarative-state/</guid><description>围绕 SwiftUI 声明式范式的核心困惑，梳理视图树与 diff 机制、@State 到 @Environment 的属性包装器全景、iOS 17 Observation 的 @Observable 与 @Bindable 迁移路径，并给出列表身份标识、动画绑定与 body 性能优化的可落地结论，帮助开发者在 iOS 17/18 上建立正确的单一数据源心智模型。</description></item><item><title>Swift 协议与泛型编程</title><link>https://plumephp.com/swift-protocols-generics/</link><pubDate>Fri, 02 Oct 2026 11:00:00 +0800</pubDate><guid>https://plumephp.com/swift-protocols-generics/</guid><description>本文深入讲解 Swift 的协议与泛型体系。从协议定义与协议组合讲起，剖析关联类型、primary associated types 与经典的 PAT 问题，厘清 some 与 any 的语义差异与性能取舍；随后覆盖泛型约束与 where 子句、协议扩展与条件遵循、面向协议编程与面向对象的适用边界、泛型特化的编译优化机制，以及 Swift 6 中 Sendable 对泛型与并发的新约束。最后用策略模式与装饰器模式展示落地方式，并给出可复用的设计检查清单。</description></item><item><title>Swift 可选类型与错误处理</title><link>https://plumephp.com/swift-optionals-error-handling/</link><pubDate>Fri, 02 Oct 2026 10:00:00 +0800</pubDate><guid>https://plumephp.com/swift-optionals-error-handling/</guid><description>本文系统讲解 Swift 中 Optional 与错误处理的完整体系。从 Optional 作为 enum 的本质讲起，覆盖 if let、guard let、简写绑定、nil 合并与可选链的取舍，分析强制解包的真实风险与替代方案；随后深入 try/throws/catch、rethrows、Result 类型、自定义 Error 与错误域设计、LocalizedError 用户提示，以及 Swift 6 引入的 typed throws。文中给出错误分类的落地规范与断言/precondition 的正确使用边界，帮助你把“可能失败”的路径写得更显式、更可测、对用户更友好。</description></item><item><title>Swift 语言基础与现代语法</title><link>https://plumephp.com/swift-language-basics/</link><pubDate>Fri, 02 Oct 2026 09:00:00 +0800</pubDate><guid>https://plumephp.com/swift-language-basics/</guid><description>本文面向有编程基础但初学 Swift 的 iOS 开发者，系统梳理 Swift 5.9/6 的语言基础与现代语法。内容涵盖值类型与引用类型的语义差异、struct/enum/class 的选型决策、Optional 与可选链入门、闭包捕获语义与逃逸规则、属性包装器与 Result builder 的实现原理，以及值语义背后的写时复制机制。同时介绍 if/switch 表达式、宏 macros 等新特性，并给出符合 Swift API Design Guidelines 的命名建议。读完可建立清晰的选型与设计直觉，写出更安全、更易维护的 Swift 代码。</description></item><item><title>Swift 与 iOS 原生开发</title><link>https://plumephp.com/posts/swift-ios/</link><pubDate>Fri, 02 Oct 2026 08:00:00 +0800</pubDate><guid>https://plumephp.com/posts/swift-ios/</guid><description>Swift 是 Apple 平台的现代系统级语言，配合 SwiftUI、Combine 与 Swift Concurrency 构成了当前 iOS 原生开发的主流技术栈。本专题从语言基础讲到上架发布：Swift 现代语法、可选类型与错误处理、协议与泛型、SwiftUI 声明式界面与状态管理、UIKit 与 SwiftUI 混合开发、Combine 与 async/await 并发、SwiftData 与 Core Data 持久化、URLSession 网络层设计、ARC 内存管理与循环引用排查、Instruments 性能剖析、XCTest 与 Xcode Cloud 持续集成，以及代码签名、Provisioning Profile 与 App Store 审核上架流程。后续补充的 6 篇进阶内容进一步覆盖结构化并发与 Actor 隔离、MVVM 与 TCA 架构模式、后台任务与 APNs 推送、Keychain 与生物识别安全、Core Animation 与 SwiftUI 动画，以及 Swift Package Manager 模块化拆分。</description></item></channel></rss>