SuperAPI AI 工具集

app-resizability

通用与其它

查看项目

更新于 10-15 17:18

技能介绍

用途:该技能用于当应用布局需要适配运行中变化的窗口,或需支持多窗口时;也涵盖为可折叠 iPhone(iPhone Duo)做适配、分屏多任务、Stage Manager 以及可调整尺寸的场景。触发请求不必是技术性的,如“让应用支持可折叠 iPhone”“让这个应用能正确缩放”均可激活。

主要能力:在 Swift 和 Objective-C 代码库中做针对性现代化改造——用符合上下文的现代 API 替换旧式共享状态 API;迁移到基于场景的生命周期;移除 UIScreen.mainScreen/UIScreen.main、interfaceOrientation、userInterfaceIdiom/UI_USER_INTERFACE_IDIOM()、对称安全区假设(safeAreaLayoutGuide、safeAreaInsets)以及用 UIApplicationDelegate 代替场景生命周期等用法。核心原则包括优先使用离消费点最近的 trait 信息(如视图的 trait collection 优于 window 的),应用替换而非留下 TODO,保持替换值动态、保留控制流,不做范围外的顺手清理,多个子部分需原子式整体完成。

使用方式:执行前先做三项只读前置检查(启动屏、iPad 方向声明、全屏退出键),仅报告不修改;请求针对具体文件而非项目时可跳过。工作流分阶段:Phase 0 简单情形快速替换;Phase 1 依据各任务检测模式发现待改造点;Phase 2 分析类层次、方法类型、生命周期与代码意图;Phase 3 决策(安全一对一替换直接应用,多方案或大范围改动需询问用户,无安全替换则加可操作 TODO);Phase 3b 确保每个含目标 API 的文件都被处理,避免静默丢弃;Phase 4 实施并校验;Phase 5 最终确认文件覆盖。示例替换:UIView/UIViewController 实例方法内内联使用的 UIScreen.main.scale 替换为 self.traitCollection.displayScale。

限制:不做机会性清理,只改含目标弃用 API 的行;不得删除 UIRequiresFullScreen 或添加 UIRequiresFullScreenIgnoredStartingWithVersion,这些由开发者决定;不得向 Info.plist 或构建设置写入改动。资料未提供具体价格、平台或效果信息。