Migrating from 2.x.x to 3.x.x

Migrating guide from < 3.x

This article is out of date! Find the new version here.

Migrating to v3 of the iOS runtime should be fairly straightforward. See the sections below on concerns you may need to look out for to change to your app if you upgrade.

Enums Naming

Starting in v3, the Layout option enums have changed to match enum naming conventions from the other runtimes for consistency. See below for what you should change Fit and Alignment options to. There are also a few other enums for parameters that have changed slightly regarding loop modes and direction.

FitBeforeAfter

Fill

.fitFill

.fill

Contain

.fitContain

.contain

Cover

.fitCover

.cover

Fit Width

.fitFitWidth

.fitWidth

Fit Height

.fitFitHeight

.fitHeight

Scale Down

.fitScaleDown

.scaleDown

None

.fitNone

.noFit

AlignmentBeforeAfter

Top Left

.alignmentTopLeft

.topLeft

Top Center

.alignmentTopCenter

.topCenter

Top Right

.alignmentTopRight

.topRight

Center Left

.alignmentCenterLeft

.centerLeft

Center

.alignmentCenter

.center

Center Right

.alignmentCenterRight

.centerRight

Bottom Left

.alignmentBottomLeft

.bottomLeft

Bottom Center

.alignmentBottomCenter

.bottomCenter

Bottom Right

.alignmentBottomRight

.bottomRight

Loop ModeBeforeAfter

One Shot

loopOneShot

oneShot

Loop

loopLoop

loop

Ping Pong

loopPingPong

pingPong

Auto

loopAuto

autoLoop

DirectionBeforeAfter

Backwards

directionBackwards

backwards

Forwards

directionForwards

forwards

Auto

directionAuto

autoDirection

Default playing behavior

One changed default behavior in v3 is what plays in the Rive canvas. Before v3, if no state machine or specific animation was specified when setting up the RiveViewModel, the first animation made in the Rive file would play.

With v3, if no state machine or specific animation is specified, the first state machine (if one is created) in the Rive file will play. So if you prefer to keep your existing default behavior of the first animation, simply set the animationName property on RiveViewModel when creating it.

Last updated