Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

App crashes on IOS for RN = 0.75.4 #268

Closed
kcadi opened this issue Oct 16, 2024 · 10 comments · Fixed by #282
Closed

App crashes on IOS for RN = 0.75.4 #268

kcadi opened this issue Oct 16, 2024 · 10 comments · Fixed by #282

Comments

@kcadi
Copy link

kcadi commented Oct 16, 2024

App crashes on IOS , works fine on Android for RN = 0.75.4
Screenshot 2024-10-16 at 6 41 09 PM

There may be some error in the package itself , as I even commented out all the import statements to check if this issue is replicated , but the issue still lies

@imsankalp
Copy link

I am facing the same issue in react-native 0.75.3 and rive-react-native 7.3.0

@dskuza
Copy link

dskuza commented Oct 17, 2024

@kcadi @imsankalp This has been brought up internally and is currently being discussed. No update to share at this exact time.

@alextoudic
Copy link

alextoudic commented Oct 20, 2024

@dskuza I've reported the same issue on rive-app/rive-ios#345 with a bit of added context

It looks like a symbol collision between RiveRuntime's Yoga and React Native's Yoga occuring when using static linkage. I thought namespacing Yoga in RiveRuntime might help, what do you think?

@PierreCapo
Copy link

As a workaround, downgrading to rive-react-native: 7.0.5 work on my side 👍

@kcadi
Copy link
Author

kcadi commented Oct 24, 2024

As a workaround, downgrading to rive-react-native: 7.0.5 work on my side 👍

Its works on the emulator , but crashes in production

@hamdij0maa
Copy link

  • 1, also happening in version 8.0.0

@guval-gh
Copy link

guval-gh commented Nov 6, 2024

Same with:

{
   "expo": "~52.0.0-preview.19",
   "react-native": "0.76.1",
   "rive-react-native": "^8.0.0"
}

@lancesnider
Copy link
Contributor

lancesnider commented Nov 27, 2024

This should be resolved with 8.2.0. Please let me know if it doesn't work for you and we'll reopen this issue.

Troubleshooting

  • Remove node_modules and ios/Pods
  • Remove any reference to Rive in package-lock.json or yarn.lock and run yarn or npm i again
  • Remove any reference to Rive in the ios/Podfile.lock and rerun Pod install

@leemhenson
Copy link

I have a repo containing a minimal repro here: https://github.com/leemhenson/rive-firebase-yoga-issue

For me, it still fails in exactly the same way as shown in the original screenshot above. You can try it yourself with:

npm install
expo prebuild --clean
xed ios
npm run start

ios/Podfile.lock afterwards shows:

PODS:
  ...
  - rive-react-native (8.2.0):
    - React-Core
    - RiveRuntime (= 6.3.7)
  - RiveRuntime (6.3.7)
  ...
  
DEPENDENCIES:
  ...
  - rive-react-native (from `../node_modules/rive-react-native`)
  ...
  
SPEC REPOS:
  trunk:
    ...
    - RiveRuntime
    ...
    
EXTERNAL SOURCES:
  ...
  rive-react-native:
    :path: "../node_modules/rive-react-native"  
  ...

SPEC CHECKSUMS:
  ...
  rive-react-native: 0b3d18dcf51499918821bfc2ba01a5e7af9ef434
  RiveRuntime: dbcfe1594ef0b03f0bac0952ccb31dd2ed39740a
  ...

It's unclear to me from previous discussions on this topic whether we are now expected to modify our Podfiles to include:

use_frameworks! :linkage => :static

pod 'FirebaseCore', :modular_headers => true
pod 'GoogleUtilities', :modular_headers => true

In my repro I have included a custom expo plugin in my app.json which does, but whether it's in the plugins list or not makes no difference to the outcome.

rive-engineering pushed a commit to rive-app/rive-runtime that referenced this issue Dec 5, 2024
This pull request addresses the following GitHub issues and more:
- [rive-ios #345](rive-app/rive-ios#345)
- [rive-react-native #268](rive-app/rive-react-native#268)

Thanks to some help from @luigi-rosso, we discovered that the iOS runtime build scripts were _not_ including the Yoga renames, causing a collision when some frameworks were statically linked in React Native environments.

This has been tested locally, and works, but the real test will be the public.

Diffs=
437688c18e Add yoga renames to non-v2 lua build scripts (#8693)

Co-authored-by: David Skuza <[email protected]>
rive-engineering pushed a commit to rive-app/rive-ios that referenced this issue Dec 5, 2024
This pull request addresses the following GitHub issues and more:
- [rive-ios #345](#345)
- [rive-react-native #268](rive-app/rive-react-native#268)

Thanks to some help from @luigi-rosso, we discovered that the iOS runtime build scripts were _not_ including the Yoga renames, causing a collision when some frameworks were statically linked in React Native environments.

This has been tested locally, and works, but the real test will be the public.

Diffs=
437688c18e Add yoga renames to non-v2 lua build scripts (#8693)
rive-engineering pushed a commit to rive-app/rive-rs that referenced this issue Dec 5, 2024
This pull request addresses the following GitHub issues and more:
- [rive-ios #345](rive-app/rive-ios#345)
- [rive-react-native #268](rive-app/rive-react-native#268)

Thanks to some help from @luigi-rosso, we discovered that the iOS runtime build scripts were _not_ including the Yoga renames, causing a collision when some frameworks were statically linked in React Native environments.

This has been tested locally, and works, but the real test will be the public.

Diffs=
437688c18e Add yoga renames to non-v2 lua build scripts (#8693)
rive-engineering pushed a commit to rive-app/rive-android that referenced this issue Dec 5, 2024
This pull request addresses the following GitHub issues and more:
- [rive-ios #345](rive-app/rive-ios#345)
- [rive-react-native #268](rive-app/rive-react-native#268)

Thanks to some help from @luigi-rosso, we discovered that the iOS runtime build scripts were _not_ including the Yoga renames, causing a collision when some frameworks were statically linked in React Native environments.

This has been tested locally, and works, but the real test will be the public.

Diffs=
437688c18e Add yoga renames to non-v2 lua build scripts (#8693)
rive-engineering pushed a commit to rive-app/rive-wasm that referenced this issue Dec 5, 2024
This pull request addresses the following GitHub issues and more:
- [rive-ios #345](rive-app/rive-ios#345)
- [rive-react-native #268](rive-app/rive-react-native#268)

Thanks to some help from @luigi-rosso, we discovered that the iOS runtime build scripts were _not_ including the Yoga renames, causing a collision when some frameworks were statically linked in React Native environments.

This has been tested locally, and works, but the real test will be the public.

Diffs=
437688c18e Add yoga renames to non-v2 lua build scripts (#8693)
rive-engineering pushed a commit to rive-app/rive-sharp that referenced this issue Dec 5, 2024
This pull request addresses the following GitHub issues and more:
- [rive-ios #345](rive-app/rive-ios#345)
- [rive-react-native #268](rive-app/rive-react-native#268)

Thanks to some help from @luigi-rosso, we discovered that the iOS runtime build scripts were _not_ including the Yoga renames, causing a collision when some frameworks were statically linked in React Native environments.

This has been tested locally, and works, but the real test will be the public.

Diffs=
437688c18e Add yoga renames to non-v2 lua build scripts (#8693)
rive-engineering pushed a commit to rive-app/rive-unreal that referenced this issue Dec 5, 2024
This pull request addresses the following GitHub issues and more:
- [rive-ios #345](rive-app/rive-ios#345)
- [rive-react-native #268](rive-app/rive-react-native#268)

Thanks to some help from @luigi-rosso, we discovered that the iOS runtime build scripts were _not_ including the Yoga renames, causing a collision when some frameworks were statically linked in React Native environments.

This has been tested locally, and works, but the real test will be the public.

Diffs=
437688c18e Add yoga renames to non-v2 lua build scripts (#8693)
@lancesnider
Copy link
Contributor

Sorry, I was wrong about it being fixed in 8.2.0. I just pushed the button to release 8.3. @leemhenson It sounds like it's working for you now? Please let me know if you run into any issues with this.

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 a pull request may close this issue.

9 participants