-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
iOS: Support 0.64 and Hermes #1469
Conversation
This comment has been minimized.
This comment has been minimized.
Can confirm that iOS builds using this branch directly as dependency with a brand new RN project and Hermes enabled. To get it running however, I had to apply this fix. |
In my case I had issues with the warnings about gnu++14 I mentioned - not sure why, as I've seen other libraries use gnu++14 without problems. After replacing it with c++14 in the Podspec, I have no troubles building & running animations on iOS, even without @Szymon20000's PR. @jakub-gonet could you review when you have some time? As for Android; this probably has to be done in a separate PR, since I'm not that experienced with the Android side. |
I think @karol-bisztyga, @Szymon20000, @zrebcu411, or @piaskowyk are better reviewers for this one, this PR changes mostly code from Rea2. |
So JFYI: On Android, I had to manually point the
|
I've noticed that after adding Reanimated (from this branch) and running @mrousavy Can you confirm that your app is actually still running on Hermes (by checking |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
@mrousavy Can confirm. |
Fixed it. It was still creating the JSCExecutorFactory instead of the Hermes one. @finkef check out my latest commits, see if that works for you. This means this PR is ready for review, as I am successfully running on |
Previously that was gnu++14, but since other libraries (such as Hermes) use c++14 and that gives warnings on pod install, I'm going to use c++14 here as well.
It's using Hermes now 👍 However, I'm greeted with the error below immediately when importing Reanimated. Trying to narrow down the issue, I believe that this line might not properly set the global value. |
This comment has been minimized.
This comment has been minimized.
|
This comment has been minimized.
This comment has been minimized.
Here is the bare minimum setup with RN 0.64 RC1 and Reanimated using the fixes from this branch. @mrousavy I'm curious if you get the same error running this project 🤔 EDIT: Missed the link in the previous comment, it seems that it's using the class from here. (Again, very limited with C++). EDIT2: Added the |
I got the same issue when trying Reanimated 2.0 rc0 with RN 0.64 RC1. |
This comment has been minimized.
This comment has been minimized.
haha no worries 👍 Updated the branch - This means everything is working on RN 0.64 with Hermes enabled, and it still works for RN 0.63. I think Mike from callstack mentioned that the official RN 0.64 release is coming out on ~Monday, so it makes sense to prepare reanimated for it so it works on day one - @jakub-gonet can you assign someone to this PR/request a review? (Also someone needs to look into android, I think in some places there were some changes made, e.g. UIManager's event dispatcher is now an interface, before it was a class) |
Sure, done & done. |
@mrousavy Great work! Can confirm that it's working out of the box now 🎉 |
Ah, my bad - I was just missing the babel plugin. It works! 🙂 |
https://github.com/osdnk/react-native-reanimated/tree/64 |
Can confirm this works on iOS RN 0.64 RC2 |
Any update on the PR guys? |
this works for me as well, @osdnk could u please make a PR, I'm trying to test your repo, but I'm not able to, not really sure which files to update. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, I tested this and it works on RN62, RN63, RN64-rc.2
Last time we talked about the problem in the Example app. I resolved this, but we stay with RN63 in the Example app at this moment, so that's why I ask you to revert changes in Example/ios/Podfile.lock If you change this then we can merge this 🎉
Good job! 👏
This reverts commit 123768a.
@piaskowyk Reverted the changes in the Podfile.lock ✅ |
Description
This adds support for react native 0.64 and Hermes on iOS.
I've tested this with
0.64.0-rc.1
which is available on npm.Changes
RCTEventDispatcher
since that's no longer imported in the module per default#if
s to match the newRNVERSION
HermesExecutorFactory
instead of theJSCExecutorFactory
c++14
instead ofgnu++14
asCLANG_CXX_LANGUAGE_STANDARD
since hermes also usesc++14
(without this you'll see warnings onpod install
)Related Issues
fixes #1485
fixes #1372
Checklist