Skip to content

refactor(ios): migrate off the data-binding APIs deprecated in rive-ios 6.28 - #423

Merged
mfazekas merged 3 commits into
mainfrom
claude/ios-databind-migration-403
Oct 15, 2026
Merged

mfazekas merged 3 commits into
mainfrom
claude/ios-databind-migration-403

Conversation

@mfazekas

Copy link
Copy Markdown
Collaborator

Replaces DataBind / Rive(file:artboard:stateMachine:dataBind:fit:), StateMachine.bindViewModelInstance(_:) and Rive.viewModelInstance in the new iOS backend with Rive(file:artboard:stateMachine:fit:), the async bindViewModelInstances(main:), and a bound instance retained on the view. Binding at state-machine creation (#414) is unchanged; runtime rebinds (bindViewModelInstance(), dataBind-only prop changes, binds before the view is ready) go through one guarded task, so a newer bind or a reconfigure supersedes an in-flight one.

getViewModelInstance() now also returns instances bound after creation, which the deprecated property never reflected; a new harness test covers that.

Fixes #403

…os 6.28

Build Rive from the explicitly bound state machine, bind through the async
bindViewModelInstances(main:), and keep the bound instance on the view so
getViewModelInstance() no longer reads the deprecated Rive.viewModelInstance.
It now also reflects instances bound via bindViewModelInstance() and
dataBind-only prop changes, which the legacy property never did.

Fixes #403
@mfazekas
mfazekas merged commit 3a2130b into main Oct 15, 2026
15 checks passed
@mfazekas
mfazekas deleted the claude/ios-databind-migration-403 branch October 15, 2026 21:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Migrate the iOS new runtime off the data-binding APIs deprecated in rive-ios 6.28.0

2 participants