Overview
Version 6.0.0 of the Rive iOS Runtime, released in July 2024, introduced significant changes to the rendering engine. This guide will help you migrate from version 5.x to 6.x.Breaking Changes
Skia Renderer Removal
The most significant change in 6.0 is the complete removal of the Skia rendering backend. What this means for you:- No code changes required - The public API remains the same
- Better performance - The native renderer is optimized for Apple platforms
- Smaller binary size - Removing Skia significantly reduces the framework size
- Improved compatibility - Better support for Metal and Apple’s graphics stack
- Update to version 6.0 or later
- Rebuild your project
- Test your animations - they should render identically with improved performance
New Features in 6.x
While migrating, you can also take advantage of new features introduced in the 6.x line:Data Binding (6.8.0+)
Version 6.8.0 introduced support for data binding, allowing you to bind external data to your Rive animations.Multi-touch Support (6.12.0+)
Version 6.12.0 added multi-touch support for richer interactions:Scripting Support (6.13.0+)
Version 6.13.0 introduced scripting capabilities for dynamic animations.Platform Support
Version 6.5.0+ added support for additional Apple platforms:- tvOS - Build Rive animations for Apple TV
- visionOS - Support for Apple Vision Pro
- Mac Catalyst - Run iOS apps with Rive on macOS
Performance Improvements
Version 6.x includes numerous performance enhancements:- Command queue-based runtime (6.15.0) - Improved rendering pipeline
- Draw optimization (6.14.0) - Configurable draw optimizations
- Offscreen drawing optimization (6.9.5) - Skip drawing when view is offscreen
- Display link improvements (6.7.0+) - Better frame timing on macOS 14+
API Enhancements
While the core API remains stable, 6.x includes several helpful additions:RiveViewModel Improvements
Fallback Font Support (6.1.0+)
Input Getters (6.2.1+)
Dependency Updates
Swift Package Manager
Update yourPackage.swift:
CocoaPods
Update yourPodfile:
Platform Requirements
Version 6.x requires:- iOS 14.0+
- macOS 13.1+
- tvOS 16.0+
- visionOS 1.0+
- Mac Catalyst 14.0+
If you need to support older platform versions, you must remain on version 5.x. Check the Package.swift for exact requirements.
Migration Checklist
Follow this checklist for a smooth migration:- Review the CHANGELOG for detailed changes
- Verify your app meets the minimum platform requirements
- Update your dependency manager configuration (SPM or CocoaPods)
- Run
pod update(if using CocoaPods) or update packages (if using SPM) - Build your project and resolve any build errors
- Test all Rive animations in your app
- Verify state machine interactions work correctly
- Check layout rendering on different screen sizes
- Test on all target platforms (iOS, macOS, tvOS, visionOS)
- Review performance and compare with previous version
- Test on physical devices, not just simulators
- Update any integration tests that verify Rive functionality
Common Issues
Build Errors After Update
If you encounter build errors after updating:- Clean your build folder (
Product > Clean Build Folderin Xcode) - Delete derived data
- Update your package dependencies
- Restart Xcode
Rendering Differences
While the rendering should be identical, if you notice any differences:- Ensure you’re using the latest patch version (e.g., 6.15.2)
- Check if your Rive file uses any deprecated features
- Test with a clean build
- Report issues on GitHub
Performance Regression
Version 6.x should be faster than 5.x. If you experience performance issues:- Update to the latest 6.x patch version
- Enable draw optimizations (available in 6.14.0+)
- Profile your app to identify bottlenecks
- Check for any custom rendering code that might conflict
Getting Help
If you run into issues during migration:- GitHub Issues: rive-app/rive-ios/issues
- Community Forum: community.rive.app
- Documentation: rive.app/docs/runtimes/apple
- Examples: Check the Example-iOS folder in the repository
Next Steps
After successfully migrating to 6.x:- Explore new features like Data Binding
- Review Performance Best Practices
- Consider implementing multi-touch interactions
- Stay updated with future 6.x releases for new features and improvements
We recommend always using the latest stable version within the 6.x line to benefit from bug fixes and performance improvements.