Skip to the content.

PTools 5.x Core 迁移与兼容说明

本文记录 PooTools.podspecCore 范围在 5.x 中的唯一实现入口、兼容包装器和 6.0.0 删除条件。5.x 不删除现有公开符号;旧入口只在确认调用方完成迁移后,才允许 在 6.0.0 评估中移除。

唯一实现入口

能力 5.x 推荐入口 旧入口处理
图片加载 PTLoadImageFunction.loadImage(source:) 保留动态来源适配器
图片、原图数据和视频请求 PTMediaLibManager 类型化请求入口 fetch* 入口保留为兼容包装器
视频缩略图 PTVideoThumbnailService 保留 UIImage/PHAsset 便捷入口
媒体保存 PTMediaSaveService PHPhotoLibraryUIImage 和媒体管理器入口代理到服务
空状态 PTUnavailableManager.render UIView 和 UIViewController 入口只负责适配
场景窗口和当前页面 PTSceneContext PTUtils 查询入口逐步迁移
UI 调度 PTMainActorBridge PTGCDManager 主线程入口保留兼容性
网络请求 Network 内部执行管线 Any、KakaJSON 和 callback 入口保留在兼容层

5.6.3 ScreenShot 与 MessageKit

5.6.2 Language 通知修复

5.6.1 ScrollBanner 与 PageControl

5.6.4 Button 模块

5.6.5 ImagePicker 与 PhotoPicker

重复入口的当前状态由 重复入口报告 输出,并由质量 检查执行时校验。每一组都必须明确 canonical、deprecated wrapper、semantic difference、 pending 和 removal gate,避免将语义不同的功能机械合并。

Swift 6 迁移边界

6.0.0 删除评估条件

以下条件必须全部满足,才能删除对应的 deprecated 或动态兼容入口:

  1. 仓库源码和示例工程中没有调用方,且重复报告中的 pending 已变为 none
  2. 至少一个完整的 5.x 版本周期提供类型化入口和迁移说明。
  3. CocoaPods、SwiftPM 和 Xcode 的 Core 源文件契约保持一致,公开符号回归通过。
  4. Swift 6 严格并发检查不再需要旧动态入口提供的非 Sendable 参数。
  5. 迁移后不存在依赖 PTAlertDebugView、旧媒体保存回调或旧 Network 动态返回值的外部 兼容承诺;必要时提供替代适配器,而不是直接删除符号。

当前结论:5.x 继续保留上述兼容层;5.6.5 只完成 ImagePicker/PhotoPicker 的边界拆分和入口统一, 不提前删除公开 API。