RSS 使用你的面包 - iOS 开发新闻和技巧 Useyourloaf.com/blog是一个烘焙和美食博客,由Michelle Roux撰写,涵盖了广泛的食谱、烘焙技巧和美食探险。 RSS useyourloaf.com Use Your Loaf - iOS Development News & Tips useyourloaf.com
WWDC 2026 观看指南 WWDC 2026 聚焦于液态玻璃(Liquid Glass)与 Apple Intelligence,并以“平台现状大会”(Platforms State of the Union)作为起点。请勿感到必须立即掌握所有内容,因为超过 100 场会议可按您的节奏自行学习。推荐使用 Apple Developer 应用或 YouTube 观看会议,这些会议通常简洁且切中要点。Swift 6.4 引入了多项提升开发体验的改进及新功能,如 FilePath 和 Swift-C 互操作性。SwiftUI 强制要求适配液态玻璃设计,采用更精简的菜单图标,并突出标签页角色,同时新增文档 API 和可重排序容器。现代化 UIKit 应用需适应可调整大小环境并遵循必需的 UIScene 生命周期,而 AppKit 应用则应采纳控制事件与键盘导航。Xcode 27 提供可自定义的工具栏、用于本地化和原型设计等任务的编码代理,以及改进的设备中心。Instruments 新增多种性能分析模式,包括 Swift 执行器(Swift executors)仪器和用于调试代理型应用的 Foundation Models 仪器。MetricKit 以 Swift 优先的 API 重构,用于收集应用性能指标。开发者可迁移至 Swift Testing,Xcode 的编码助手将协助此过程。Xcode Cloud 简化构建、交付与自动化工作流。SwiftData 获得更新,包括分段获取请求以及存储 Codable 类型的能力。设计原则强调目的性、简洁性与清晰命名,并提供打造直观搜索体验的指导。无障碍功能增强包括改进阅读类应用的 VoiceOver 导航以及 AI 生成的字幕。Apple Intelligence 扩展了 Foundation Models 框架,使其开源,并提供端侧计算与私有云计算选项。 WWDC 2026 Viewing Guide useyourloaf.com
将警告视为错误 (Swift 包) Swift 6.2 在 Swift Packages 中引入了对编译器警告更精细的控制。此前,Xcode 允许通过自定义标志将所有警告视为错误或抑制所有警告。然而,Swift 6.1 引入了将特定诊断组视为警告或错误的选项,例如“-Werror DeprecatedDeclaration”。至关重要的是,直到 Swift 6.2,这些细粒度控制才在 Swift Packages 中得到支持。要利用这些新功能,开发人员必须在 Package.swift 文件中将其 Swift tools 版本更新到 6.2。Swift 6.2 提供了新的 swiftSettings,例如 treatAllWarnings(as:) 和 treatWarning("group", as:)。这些设置允许精确配置,例如,将所有警告视为错误,但“DeprecatedDeclaration”等特定组除外。需要注意的是,这些警告控制设置仅在包直接构建时适用,而在用作远程依赖项时会被忽略。开发人员可以通过遍历所有目标并为每个目标添加所需的设置来实现对包中所有目标的这些控制。这一增强功能为管理构建时警告和错误提供了更大的灵活性。 Treating Warnings As Errors In Swift Packages useyourloaf.com
Swift 原始标识符 Swift 6.2 引入了原始标识符,允许在标识符名称中使用以前禁止使用的字符。通过 SE-0451 实现的该功能,允许将标识符括在反引号中。一个关键应用是 Swift 测试中,原始标识符可以消除测试函数命名中的冗余。相比于编写描述性字符串的 @Test 属性和单独的常规函数名,原始标识符可以同时充当这两个角色。这使得测试函数名称变得描述性和在测试导航器和报告中可见。另一个有用的场景是枚举情况自然对应于数字。以前,需要添加前缀来避免标识符以数字开头。使用原始标识符,枚举情况像 24 或 30 可以直接使用反引号表示。这简化了代码,避免了数字枚举情况的人工前缀。虽然使用反引号可能看起来有点cumbersome,但它提供了代码清晰度和表达能力的显著改进。 Swift Raw Identifiers useyourloaf.com
SwiftUI 键盘快捷键作用域 SwiftUI 的 .keyboardShortcut 修饰符(iOS 14 引入)允许为控件分配键盘快捷键。这些快捷键会触发控件的主要操作。该修饰符可以自定义修饰键,而不仅仅是默认的 command 键。一个关键示例展示了使用应用于按钮的快捷键在视图之间导航。令人惊讶的是,即使关联的控件不在屏幕上,快捷键仍然有效。这种行为源于 SwiftUI 深度优先遍历视图层次结构以查找快捷键目标。系统优先查找第一个匹配的控件,而不管其可见性如何。这可能导致意外行为,即屏幕外的控件仍然会响应快捷键。一种解决方法是根据视图状态使用 .disabled 修饰符禁用控件。这确保快捷键仅在相关控件可见时才有效。Curt Clifton 的评论提供了更多上下文。 SwiftUI Keyboard Shortcut Scope useyourloaf.com