| #
c2f6f870 |
| 18-Aug-2020 |
Stanisław Chmiela <[email protected]> |
[ios] Enable TurboModules (#9687)
# Why
We need to enable TurboModules to be able to include Reanimated v2.
> A known issue with this PR is that the community AsyncStorage seizes to work — it
[ios] Enable TurboModules (#9687)
# Why
We need to enable TurboModules to be able to include Reanimated v2.
> A known issue with this PR is that the community AsyncStorage seizes to work — it expects only native module, isn't compatible with TurboModule AsyncStorage and we do not import the AsyncStorage community module properly.
>
> **Actually**, https://github.com/react-native-community/async-storage/pull/418 should be enough.
# How
Apart from the more or less usual TurboModules setup (imports, headers, flags, C++ dialect) I had to move native modules that we override in Expo from `extraModulesForBridge:` to `getModuleInstanceFromClass:`.
I don't like that we have to use `RCTLogFunction` in `EXVersionManager` now (otherwise the code wouldn't compile), but I guess that if the type ever changes somebody will notice and backport the change to versioned SDKs.
# Test Plan
Expo Client compiled, home ran.
show more ...
|