React Native集成Lottie报错:LottieAnimationView未在UIManager中找到
解决
Invariant Violation: requireNativeComponent: "LottieAnimationView" was not found in the UIManager. 错误 以下是针对iPhone真机运行场景的排查和解决步骤:
确认iOS原生依赖安装完整
进入项目的ios目录,执行pod install,查看终端输出是否有依赖安装失败的提示。如果之前安装过但有问题,先执行pod deintegrate清理现有Pod依赖,再重新pod install。
打开Xcode,在项目的Frameworks, Libraries, and Embedded Content列表中,确认Lottie.framework存在,且设置为Embed & Sign。重启开发环境
完全关闭Metro打包终端,杀掉Xcode进程,重新打开Xcode后执行Cmd+Shift+K清理项目,再重新build并运行到真机。检查组件导入与使用
确保导入的是正确的组件:import AnimatedLottieView from 'lottie-react-native';组件使用时,确认
source路径正确(本地JSON文件或远程URL),示例:<AnimatedLottieView source={require('./assets/animation.json')} autoPlay loop style={{ width: 200, height: 200 }} />验证版本兼容性
确认lottie-react-native版本与你的React Native版本匹配,比如RN 0.70+需要搭配lottie-react-native 5.x及以上版本,版本不兼容会导致原生组件无法正常注册。手动注册原生组件(兜底方案)
如果上述步骤都无效,打开ios/AppDelegate.mm(或.m)文件:- 添加导入语句:
#import <LottieReactNative/LottieReactNative.h> - 在
didFinishLaunchingWithOptions方法中添加注册代码:[LottieReactNative register];
完成后重新build项目。
- 添加导入语句:
内容的提问来源于stack exchange,提问作者Ever Nolasco
相关产品推荐
相关产品推荐

