Apple 运行时(Apple)
注意(Note):Apple 包内已提供新版运行时(实验性) ,可能包含破坏性变更。Legacy 运行时仍在维护,但建议新项目优先评估新版 API,并逐步迁移存量项目。
概览(Overview)
Rive Apple Runtime 开源,代码仓库:
支持平台(官方当前说明):
- iOS 14.0+
- visionOS 1.0+
- tvOS 16.0+
- macOS 13.1+
- Mac Catalyst 14.0+
新版运行时是 Swift First 设计,基于 Swift Concurrency,改进了多线程能力。
新版入口核心是 Rive 类型(用于定义 file、artboard、state machine、fit、背景色等配置),并通过 RiveUIView(UIKit/AppKit)或 SwiftUI 的 representable 类型接入视图。
快速开始(新版 API)
1) 安装 Runtime(推荐 SPM)
CocoaPods 已进入维护模式,建议优先 Swift Package Manager。
Package.swift 示例:
dependencies: [
.package(url: "https://github.com/rive-app/rive-ios", from: "6.13.0")
]
Target 依赖:
targets: [
.target(
name: "MyApp",
dependencies: [
.product(name: "RiveRuntime", package: "rive-ios")
]
)
]
2) 导入模块
新版类型位于 RiveExperimental SPI 下:
@_spi(RiveExperimental) import RiveRuntime
3) 创建 Worker
Worker 负责并发处理(包含后台线程与全局 资源管理):
// async context
let worker = try await Worker()
// sync context
let worker = try Worker()
4) 加载 File
File 需要 source + worker:
let worker = try await Worker()
let file = File(source: .local("my_file", Bundle.main), worker: worker)
也支持 .url(...) / .data(...)。
5) 添加 View
let rive = try await Rive(file: file)
let riveView = RiveUIView(rive: rive)
view.addSubview(riveView)
SwiftUI 可用 RiveUIViewRepresentable(rive) 或 AsyncRiveUIViewRepresentable。
6) 数据绑定(Data Binding)
默认情况下,Rive(file: ...) 会尝试自动绑定默认 view model instance。
你也可以显式选择:
dataBind: .autodataBind: .instance(...)dataBind: .none
详情建议同步参考: