这是适配
iOS 27的笔记,并非介绍新功能和API。跟以前一样,发现一个就写一个。
传统竖屏 UIKit 项目如何简单适配 iPhone Duo
传统竖屏 UIKit 项目,也就是没有适配 iPad 版、大量使用 frame 布局、或 AutoLayout 用的绝对数值的 App,分享一下我这几天踩坑总结下来的方案,在不改动大部分 UI 结构的情况下先快速适配第一版:传统竖屏 UIKit 项目简单适配 iPhone Duo 的第一版
在其他 Agent 中使用 Xcode 27 的技能
原本是 Xcode 内置AI用的 Skills,主要用来适配 iOS 27,但众所周知国内一般用不了,所以苹果提供导出指令:xcrun agent skills export,用来给其他工具用,例如 Codex。
我已经导出来了,需要的可以去这里下载:ShareTools
xcode-skills(2026.09.22 更新:新增 iPhone Duo 适配技能)
从 Xcode 27 导出的官方 Skills:
| 技能 | 用途 |
|---|---|
| adopt-c-bounds-safety | 帮助 C 项目采用和调试 -fbounds-safety,覆盖指针边界注解、渐进式迁移策略、编译配置、常见陷阱和越界运行时崩溃排查。 |
| app-intents-specialist | App Intents 通用最佳实践指南。用于编写、重构和审查 Intent、Entity、Query、参数、依赖、结果与错误、Donation、本地化、快捷短语和 URL 跳转等代码。 |
| app-intents-whats-new-27 | 处理 iOS 26 / 27 新增或变更的 App Intents API,包括执行模式、交互式 Snippet、Visual Intelligence、Spotlight 索引、跨设备实体、系统快捷指令和意图测试。 |
| audit-xcode-security-settings | 审计并逐步加强 Xcode 项目的安全构建配置,覆盖编译器与静态分析诊断、Enhanced Security、内存保护、相关 entitlements 和决策记录。不负责 ATS/TLS、代码签名和隐私 API。 |
| building-document-based-swiftui-applications | 使用 SDK 27 的 SwiftUI Document 协议构建或迁移文档型应用,覆盖打开、编辑、自动保存、导出、撤销、包文档、自定义 UTType,以及从 FileDocument / ReferenceFileDocument 迁移。 |
| device-interaction | 在真机或模拟器上安装并运行应用,通过截图、UI 层级、触摸、键盘、旋转和遥控器等操作验证功能与布局,支持 iOS、watchOS 和 tvOS 交互。 |
| modernize-tests | 把现有 XCTest 迁移到 Swift Testing,或使用现代模式改进已有测试,覆盖断言、异步确认、参数化、跳过条件、已知问题、并发和附件;XCUI 自动化与 XCTest 性能测试仍保留 XCTest。 |
| swiftui-specialist | SwiftUI 通用最佳实践与性能指南。用于编写、重构和审查视图结构、数据流、Environment、Modifier、本地化、动画、ForEach / List 和软废弃 API。 |
| swiftui-whats-new-27 | 处理 SDK 27 的 SwiftUI 新 API 和兼容性变化,包括 @State 宏、统一 @ContentBuilder、任意容器拖拽排序与侧滑操作、AsyncImage 缓存、工具栏和基于可选项绑定的弹窗。 |
| app-resizability | 让 UIKit 应用适配运行时窗口尺寸变化、多窗口、分屏、Stage Manager 和折叠屏 iPhone Duo;迁移 UIScreen.main、方向、设备类型、Scene 生命周期及 Safe Area 等旧式共享状态与布局假设,支持 Swift 与 Objective-C。 |
ios-27-xcode-skills-plugin
这是基于 xcode-skills 中的 10 个 skills 资源封装而成的 Codex 个人插件包,把里面的技能内容整理为 Codex 插件规范所需的目录结构,并补充插件元信息与展示资源,方便在 Codex 插件页中安装、启用和分享。插件内容与 skills/xcode-skills 保持同步。
包内关键结构:
.codex-plugin/plugin.json:Codex 插件 manifest,声明插件名称、版本、展示信息、图标、默认提示词,以及 skills 入口。skills/:与skills/xcode-skills同步的 10 个技能,包含 iOS 27 / Xcode beta 适配相关的 skill 定义、工作流、参考资料和辅助脚本。assets/:插件展示资源,例如logo/composerIcon使用的图标文件。
安装完成后,它会作为 ios-27-xcode-skills@personal 出现在 Codex 的个人插件中。
1. 保存插件
把 codex-plugin/ios-27-xcode-skills-plugin/ios-27-xcode-skills 目录复制到 ~/Documents/CodexPlugins/,能看到插件文件:
~/Documents/CodexPlugins/ios-27-xcode-skills/
.codex-plugin/plugin.json
assets/
skills/
2. 配置个人插件 marketplace
创建或更新个人插件清单:
mkdir -p ~/.agents/plugins
编辑 ~/.agents/plugins/marketplace.json,加入下面内容。
如果你原本没有这个文件,可以直接使用:
{
"name": "personal",
"interface": {
"displayName": "Personal"
},
"plugins": [
{
"name": "ios-27-xcode-skills",
"source": {
"source": "local",
"path": "./Documents/CodexPlugins/ios-27-xcode-skills"
},
"policy": {
"installation": "AVAILABLE",
"authentication": "ON_INSTALL"
},
"category": "Productivity"
}
]
}
如果你保存到了别的位置,把 source.path 改成对应路径。以 ~ 为根时建议写成类似:
./Documents/CodexPlugins/ios-27-xcode-skills
3. 安装插件
在 Codex 桌面版中打开一个新会话,或用 Codex 自带 CLI 执行:
/Applications/Codex.app/Contents/Resources/codex plugin add ios-27-xcode-skills@personal
4. 验证
/Applications/Codex.app/Contents/Resources/codex plugin list | grep ios-27-xcode-skills
看到 installed, enabled 就表示安装成功。
5. 使用方式
安装后,在新会话里可以直接这样问:
帮我适配 iOS 27 的 SwiftUI API 变化
帮我使用 iOS 27 的 App Intents 新 API
迁移这个 SwiftUI 文档型应用
审查这个项目的 Xcode 安全设置
让 UIKit 应用适配 iPhone Duo、分屏和动态窗口尺寸
当前 xcode-skills 包含的主要能力:
- SwiftUI SDK 27 新 API、行为变化与兼容性适配
- SwiftUI 代码最佳实践与性能审查
- App Intents 通用最佳实践,以及 iOS 26 / 27 新 API 适配
- SwiftUI 文档型应用构建与旧文档 API 迁移
- UIKit 动态窗口、多窗口、分屏、Stage Manager 与 iPhone Duo 适配,并现代化 Scene 生命周期、
UIScreen、方向、设备类型和 Safe Area - XCTest 到 Swift Testing 的迁移与已有测试现代化
- Xcode 安全构建设置、Enhanced Security 与 entitlements 审查
- C
-fbounds-safety迁移与调试 - iOS、watchOS 和 tvOS 真机/模拟器 UI 行为验证
完整安装说明见 Codex 插件安装文档。
ios-27-xcode-skills Claude Code 插件
这是基于同一套 xcode-skills 资源封装的 Claude Code 插件包,包含 10 个技能和一个本地 marketplace 清单。安装后,Claude Code 会根据任务内容自动使用匹配技能,也可以通过 ios-27-xcode-skills 命名空间显式调用。
包内关键结构:
.claude-plugin/marketplace.json:本地 marketplace 清单,用于注册和持久安装插件。ios-27-xcode-skills/.claude-plugin/plugin.json:Claude Code 插件 manifest。ios-27-xcode-skills/skills/:与skills/xcode-skills完全同步的 10 个技能。INSTALL.md:临时加载、本地 marketplace 安装和验证说明。
临时加载
claude --plugin-dir ~/Documents/ClaudeCodePlugins/ios-27-xcode-skills-plugin/ios-27-xcode-skills
通过本地 marketplace 安装
claude plugin marketplace add ~/Documents/ClaudeCodePlugins/ios-27-xcode-skills-plugin
claude plugin install ios-27-xcode-skills@ios-27-xcode-skills-marketplace
安装后可以直接描述需求,也可以显式调用技能:
/ios-27-xcode-skills:swiftui-specialist
/ios-27-xcode-skills:app-intents-whats-new-27
完整安装说明见 Claude Code 插件安装文档。
不过现在不太敢立马适配,感觉会改动特别大🫠...
陆续更新...
发现一个写一个😫