一个轻量、无依赖的 SwiftUI 包,通过提供修饰链辅助工具、回退命名空间和按版本取值功能,在不重复视图或不散布 `#available` 检查的前提下,简洁地支持多 iOS 版本。

Stars

8

7 天增长

暂无数据

Fork 数

0

开放 Issue

0

开源协议

MIT

最近更新

2026-07-30

AI 仓库情报摘要
FR-AI / ANALYSIS

为什么值得关注

它解决了 SwiftUI 开发中一个常见痛点——版本检查打断修饰链——通过一套小巧且经过测试的 API,让代码在 iOS 15+ 上保持整洁和可维护。

适合谁使用

  • 需要同时支持 iOS 15+ 并利用 iOS 17+ 功能的 SwiftUI 开发者
  • 维护多版本兼容性的 iOS 应用团队
  • 厌倦重复视图或散落 `#available` 条件的开发者
  • 希望扩展该包以提供更多回退支持的开源贡献者

典型使用场景

  • 在修饰链中安全添加仅 iOS 17 可用的 `contentTransition`,而不中断链式调用
  • 在 iOS 15/16 上通过内置回退使用新版两值 `onChange` 回调
  • 仅在 iOS 16.4+ 上启用 `scrollBounceBehavior(.basedOnSize)`,旧版本无操作
  • 使用 `platformValue` 根据操作系统版本选择不同的间距或圆角值

项目优势

  • 零外部依赖,完整单元测试,并附带可运行示例应用
  • 通过 `.modify {}` 保持修饰链完整,避免视图重复
  • 提供 `.backport` 命名空间,API 风格与真实 SwiftUI 一致
  • 内置四个可直接使用的回退(`onChange`、`scrollBounceBehavior`、`scrollClipDisabled`、`presentationDetents`),并明确无可用时的行为

使用前须知

  • 要求 iOS 15.0+ 和 Swift 5.9+,不覆盖更老的部署目标
  • `platformValue` 基于运行时检查,不能用于按版本不同的类型或方法
  • 仅内置四个回退,用户需自行扩展其他 API 的回退

README 快速开始

Quick start

项目描述

Backport modern SwiftUI APIs while supporting older iOS versions.

相关仓库与替代方案

根据分类、Topic 和编程语言匹配的相似项目。

uzairansaruzi
精选
uzairansaruzi GitHub avatar

hermex

Hermex is a native SwiftUI iPhone app that lets you control a self-hosted Hermes AI agent directly from your phone, with no subscriptions, tracking, or third-party relay.

AI 与机器学习大语言模型
941
mana-am
mana-am GitHub avatar

matrix-swift

A SwiftUI library with over 100 deterministic, pattern-driven dot-matrix loading indicators ported from a popular React collection.

Swift
150
makecindy
精选
makecindy GitHub avatar

cindy

Cindy is an open-source AI agent that runs locally on your machine, integrates multiple AI harnesses and models, and provides memory, skills, and automation to perform real work in your projects and apps.

AI 与机器学习大语言模型
958