OpenSwiftUI 是 Apple SwiftUI 的一个开源实现。
该项目的目标如下:
API 设计尽可能与原始 SwiftUI API 保持一致。
目前,该项目正处于早期开发阶段。
警告
这个包在 Apple 平台上使用了大量的隐藏 API 和私有框架。
请不要在 Apple 的生产环境(例如 App Store)中使用这个包。
否则,它可能会在未来的 SDK/OS 更新中破坏您的构建或使您的应用程序崩溃。
请查看 Example 文件夹,并使用 ExampleApp 尝试。
./Scripts/build
./Scripts/openswiftui_swiftinterface
注意
您可以使用像 EnvPane 或 MenuHelper 这样的工具在 macOS 平台上更轻松地管理环境变量。
下表描述了 OpenSwiftUI
对各个平台的当前支持级别
平台 | CI 状态 | 支持状态 | 构建 | 测试 | 部署 |
---|---|---|---|---|---|
SwiftUI 兼容性 | |||||
macOS | ⭐️⭐️⭐️ *1 | ✅ | ✅ | ✅ | |
iOS | ⭐️⭐️⭐️⭐️ *2 | ✅ | ✅ | ✅ | |
Ubuntu 22.04 | ⭐️⭐️ *3 | ✅ | ✅ | ❌ | |
Wasm | ⭐️ *4 | ✅ | ❌ | ❌ | |
Windows | 无 | 尚未支持 | ❌ | ❌ | ❌ |
注意
跨平台 OpenGraph 尚未完全实现。
目前仅与 AttributeGraph 在 API 上兼容。
因此,大多数核心功能仅在用 AttributeGraph 变体构建的 Apple 平台上可用。
请参阅 LICENSE 文件 - MIT