rive-app / rive-app/rive-flutter
Consider documenting Stripping iOS symbols for SPM ipa builds with bundled assets
Nobody has claimed this yet.
- Dominant language
- Dart
- Stars
- 1.5k
- Forks
- 240
- PR merge metrics
- No merged PRs in 30d
Description
Description
Currently, at least using SPM, we experience an error on IPA builds (debugging works fine).
An error is thrown:
RiveFileLoaderException: Failed to load
Rive file from asset: packages/my_package/assets/my_rive_file.riv.
Error: Invalid arguments): Failed to lookup symbol 'loadRiveFile': dlsym(RTLD_DEFAULT, loadRiveFile):
symbol not found
#0 FileLoader.file (package:rive/src/ file_loader.dart:66)
<asynchronous suspension>
#1
_RiveWidgetBuilderState._setuplmpl
(package:rive/src/widgets/ rive_builder.dart:130)
<asynchronous suspension>
#2 _RiveWidgetBuilderState._setup (package:rive/src/widgets/ rive_builder.dart:108)
<asynchronous suspension>
Steps To Reproduce
Steps to reproduce the behavior:
- Use a rive flutter project with bundled assets
- Use SPM via
flutter config --enable-swift-package-manager - In Xcode, go to Target Runner > Build Settings > Strip Style.
- Just ensure: The default should be
All Symbols
- Deploy an IPA, (I was only able to reproduce it via a TestFlight build or in Prod.
Source .riv/.rev file
Every bundled asset should lead to that behavior.
Expected behavior
Document that stripping iOS symbols should be targeted to only non-global symbols, see https://docs.flutter.dev/platform-integration/ios/c-interop#stripping-ios-symbols
When creating a release archive (IPA), the symbols are stripped by Xcode.
In Xcode, go to Target Runner > Build Settings > Strip Style.
Change from All Symbols to Non-Global Symbols.
Screenshots
Device & Versions (please complete the following information)
- Device: iPhone 12
- OS: iOS 26.3
- Flutter Version:
Flutter 3.41.1 • channel [user-branch] • unknown source
Framework • revision 582a0e7c55 (3 weeks ago) • 2026-02-12 17:12:32 -0800
Engine • hash cc8e596aa65130a0678cc59613ed1c5125184db4 (revision 3452d735bd)
(27 days ago) • 2026-02-09 22:03:17.000Z
Tools • Dart 3.11.0 • DevTools 2.54.1
Additional context
https://github.com/dart-lang/native/issues/897
https://github.com/rive-app/rive-flutter/issues/432
https://github.com/fzyzcjy/flutter_rust_bridge/issues/250
https://docs.flutter.dev/platform-integration/ios/c-interop#stripping-ios-symbols
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Locate the project’s documentation entry point for iOS and SPM builds, then review the linked Flutter iOS C interop guidance. Document the Xcode Target Runner > Build Settings > Strip Style change from All Symbols to Non-Global Symbols, including that it applies when creating a release IPA with bundled assets.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- flutter, ios
- Domain
- documentation, mobile
- Issue type
- Documentation
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 72/100