🚀 Xcode 26 Beta 7 发布:AI 编码增强、性能优化与多项更新
概览与要求
Xcode 26 Beta 7 现已发布,包含适用于 iOS 26、iPadOS 26、tvOS 26、watchOS 26、macOS Tahoe 26 和 visionOS 26 的 SDK。它支持 iOS 16 及更高版本、tvOS 16 及更高版本、watchOS 8 及更高版本以及 visionOS 上的设备调试,并要求 Mac 运行 macOS Sequoia 15.5 或更高版本。
新功能亮点
* 智能编码 (Coding Intelligence):
* 新增 Claude in Xcode 集成,支持用户使用现有付费 Claude 账户及 Claude Sonnet 4 模型。
* ChatGPT in Xcode 现提供 GPT-4.1 和 GPT-5 选项,其中 GPT-5 为默认模型,并新增“GPT-5 (Reasoning)”模式以处理复杂编码任务。
* C++ 标准库:
* 实现 C++26、C++23 和 C++20 的多项新特性。
* 性能显著提升,例如 `lexicographical_compare` 算法性能提升高达 40 倍,`std::vector` 插入操作提升高达 10 倍,`std::stable_sort` 对整数类型使用基数排序可提升高达 10 倍。
* 增强 libc++ 库的安全性,支持检测容器越界访问。
* Instruments 性能分析工具:
* 重新设计目标选择器,优化设备和进程选择体验。
* CPU Counters 引入“瓶颈分析”方法,提供引导式性能优化路径。
* 新增 Power Profiler 工具,用于可视化 iOS/iPadOS 设备的系统功耗和应用影响。
* 更新 SwiftUI 工具,捕获所有 SwiftUI 更新的持续时间,并提供“原因与效果图”分析更新来源。
* 新增 Foundation Models 工具,用于分析应用对 FoundationModels 框架的使用。
* 本地化 (Localization):
* String Catalogs 现可生成类型安全的 Swift 符号,例如 `LocalizedStringResource.landmarks(count: 42)`。
* 支持在 String Catalog 编辑器中批量选择和操作字符串。
* 可根据源代码上下文自动生成翻译注释。
* 新增重构菜单,支持跨文件和 String Catalogs 更改字符串键。
* Metal 图形调试:
* Metal Debugger 现支持 Metal 4 的大部分调试工作流,包括机器学习张量/图可视化和依赖查看器。
* 支持将性能数据导出为 GPU Trace,以便离线分析。
* Metal Performance HUD 增强,提供新指标、自定义界面和性能洞察报告。
* 安全性:
* 新增“增强安全性”扩展模板和功能,为应用提供额外的运行时/编译时保护,并启用指针认证。
* Clang 引入 `-fbounds-safety` 语言扩展,为 C 语言提供边界安全保证。
* Clang 支持 `ENABLE_CPLUSPLUS_BOUNDS_SAFE_BUFFERS` 模式,拒绝原始指针算术,强制使用强化的 C++ 标准库 API。
* Swift 与 C/C++ 互操作性:
* 支持通过边界和生命周期注解(如 `__noescape`、`__lifetimebound`、`__counted_by`、`__sized_by`)安全地将 C/C++ 函数和指针导入 Swift,无需不安全样板代码。
* C++ `std::string` 现符合 Swift `ExpressibleByStringInterpolation` 协议。
* 测试 (Testing):
* Swift Testing 引入退出测试,支持测试调用 `precondition()` 或 `fatalError()` 的代码。
* 全新的 UI 测试录制体验。
* 支持将文件或数据附加到测试失败报告中,以便诊断问题。
重要已知问题
* 通用:升级 macOS 后首次构建时模拟器可能无法启动(通常重建可解决)。C++ 标准头文件可能出现“`iostream` file not found”错误(需执行 `sudo rm -rf /Library/Developer/CommandLineTools/usr/include/c++/v1` 命令解决)。
* 智能编码:编码助手状态栏的“取消”按钮可能无法停止当前消息。应用更改时断点可能移动。无法同时查看或修改同名文件。处理数千行文件时结果可能不一致。
* Metal:Metal 4 不支持 GPU Profiling、稀疏资源和 Shader Debugging。为 iOS 18、macOS 15、tvOS 18 和 visionOS 2 部署目标编译 Metal 着色器可能生成无效 GPU 二进制文件(建议使用 Xcode 16.3 Metal 工具链)。
已解决问题
* Xcode 26 Beta 6:修复了通过设备管理禁用编码助手外部集成的问题。
* Xcode 26 Beta 5:修复了 Xcode 16 标签行为、编码智能与第三方 API 的兼容性、运行操作重复启动应用实例等问题。String Catalogs 现可记住列宽。
* Xcode 26 Beta 4:修复了编码助手创建的文件撤销时未删除、Claude 处理长文件错误减少、编码助手可修改 Playground 文件等问题。
* Xcode 26 Beta 2:增强了崩溃和启动诊断的趋势洞察功能。解决了编译器缓存启用时的编译失败问题,并显著提升了 Swift 文件语法高亮性能。
弃用内容
* Create ML App:移除对创建新 Style Transfer 项目的支持。
* Instruments:移除 WatchKit 1.0 应用分析、Zombies 模板(请改用 Allocations 模板并启用 NSZombie 检测)、SceneKit 模板。
* SceneKit:在所有 Apple 平台上已弃用,建议新项目使用 RealityKit。
(HackerNews)
via 茶馆 - Telegram Channel
概览与要求
Xcode 26 Beta 7 现已发布,包含适用于 iOS 26、iPadOS 26、tvOS 26、watchOS 26、macOS Tahoe 26 和 visionOS 26 的 SDK。它支持 iOS 16 及更高版本、tvOS 16 及更高版本、watchOS 8 及更高版本以及 visionOS 上的设备调试,并要求 Mac 运行 macOS Sequoia 15.5 或更高版本。
新功能亮点
* 智能编码 (Coding Intelligence):
* 新增 Claude in Xcode 集成,支持用户使用现有付费 Claude 账户及 Claude Sonnet 4 模型。
* ChatGPT in Xcode 现提供 GPT-4.1 和 GPT-5 选项,其中 GPT-5 为默认模型,并新增“GPT-5 (Reasoning)”模式以处理复杂编码任务。
* C++ 标准库:
* 实现 C++26、C++23 和 C++20 的多项新特性。
* 性能显著提升,例如 `lexicographical_compare` 算法性能提升高达 40 倍,`std::vector` 插入操作提升高达 10 倍,`std::stable_sort` 对整数类型使用基数排序可提升高达 10 倍。
* 增强 libc++ 库的安全性,支持检测容器越界访问。
* Instruments 性能分析工具:
* 重新设计目标选择器,优化设备和进程选择体验。
* CPU Counters 引入“瓶颈分析”方法,提供引导式性能优化路径。
* 新增 Power Profiler 工具,用于可视化 iOS/iPadOS 设备的系统功耗和应用影响。
* 更新 SwiftUI 工具,捕获所有 SwiftUI 更新的持续时间,并提供“原因与效果图”分析更新来源。
* 新增 Foundation Models 工具,用于分析应用对 FoundationModels 框架的使用。
* 本地化 (Localization):
* String Catalogs 现可生成类型安全的 Swift 符号,例如 `LocalizedStringResource.landmarks(count: 42)`。
* 支持在 String Catalog 编辑器中批量选择和操作字符串。
* 可根据源代码上下文自动生成翻译注释。
* 新增重构菜单,支持跨文件和 String Catalogs 更改字符串键。
* Metal 图形调试:
* Metal Debugger 现支持 Metal 4 的大部分调试工作流,包括机器学习张量/图可视化和依赖查看器。
* 支持将性能数据导出为 GPU Trace,以便离线分析。
* Metal Performance HUD 增强,提供新指标、自定义界面和性能洞察报告。
* 安全性:
* 新增“增强安全性”扩展模板和功能,为应用提供额外的运行时/编译时保护,并启用指针认证。
* Clang 引入 `-fbounds-safety` 语言扩展,为 C 语言提供边界安全保证。
* Clang 支持 `ENABLE_CPLUSPLUS_BOUNDS_SAFE_BUFFERS` 模式,拒绝原始指针算术,强制使用强化的 C++ 标准库 API。
* Swift 与 C/C++ 互操作性:
* 支持通过边界和生命周期注解(如 `__noescape`、`__lifetimebound`、`__counted_by`、`__sized_by`)安全地将 C/C++ 函数和指针导入 Swift,无需不安全样板代码。
* C++ `std::string` 现符合 Swift `ExpressibleByStringInterpolation` 协议。
* 测试 (Testing):
* Swift Testing 引入退出测试,支持测试调用 `precondition()` 或 `fatalError()` 的代码。
* 全新的 UI 测试录制体验。
* 支持将文件或数据附加到测试失败报告中,以便诊断问题。
重要已知问题
* 通用:升级 macOS 后首次构建时模拟器可能无法启动(通常重建可解决)。C++ 标准头文件可能出现“`iostream` file not found”错误(需执行 `sudo rm -rf /Library/Developer/CommandLineTools/usr/include/c++/v1` 命令解决)。
* 智能编码:编码助手状态栏的“取消”按钮可能无法停止当前消息。应用更改时断点可能移动。无法同时查看或修改同名文件。处理数千行文件时结果可能不一致。
* Metal:Metal 4 不支持 GPU Profiling、稀疏资源和 Shader Debugging。为 iOS 18、macOS 15、tvOS 18 和 visionOS 2 部署目标编译 Metal 着色器可能生成无效 GPU 二进制文件(建议使用 Xcode 16.3 Metal 工具链)。
已解决问题
* Xcode 26 Beta 6:修复了通过设备管理禁用编码助手外部集成的问题。
* Xcode 26 Beta 5:修复了 Xcode 16 标签行为、编码智能与第三方 API 的兼容性、运行操作重复启动应用实例等问题。String Catalogs 现可记住列宽。
* Xcode 26 Beta 4:修复了编码助手创建的文件撤销时未删除、Claude 处理长文件错误减少、编码助手可修改 Playground 文件等问题。
* Xcode 26 Beta 2:增强了崩溃和启动诊断的趋势洞察功能。解决了编译器缓存启用时的编译失败问题,并显著提升了 Swift 文件语法高亮性能。
弃用内容
* Create ML App:移除对创建新 Style Transfer 项目的支持。
* Instruments:移除 WatchKit 1.0 应用分析、Zombies 模板(请改用 Allocations 模板并启用 NSZombie 检测)、SceneKit 模板。
* SceneKit:在所有 Apple 平台上已弃用,建议新项目使用 RealityKit。
(HackerNews)
via 茶馆 - Telegram Channel