rive-app / rive-app/rive-flutter

Consider documenting Stripping iOS symbols for SPM ipa builds with bundled assets

Open Beginner friendly
#617 6 comments 14 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
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:

  1. Use a rive flutter project with bundled assets
  2. Use SPM via flutter config --enable-swift-package-manager
  3. In Xcode, go to Target Runner > Build Settings > Strip Style.
  • Just ensure: The default should be All Symbols
  1. 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
Image
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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.