React Native接入Lottie启动屏出现AppDelegate.m编译报错求助
报错排查方案
- 检查头文件导入:打开ios目录下的AppDelegate.m(RN0.71+版本为AppDelegate.mm),确认顶部已添加正确导入语句
#import "LottieSplashScreen.h" - 检查代码插入位置:确认
[LottieSplashScreen show:@"你的动画文件名" inRootView:rootView];代码是写在didFinishLaunchingWithOptions方法的return语句之前,动画文件名不需要加.json后缀,大小写要和实际文件完全一致 - 验证动画文件引入规则:确认将lottie动画json文件拖入Xcode项目时,已勾选「Copy items if needed」和对应的App target,不要仅放入本地文件夹未同步到Xcode资源列表
- 清理重安装Pod依赖:cd到项目ios目录,执行
pod deintegrate && pod install,清除旧的Pod缓存重新安装依赖 - 清理Xcode编译缓存:打开Xcode按快捷键
Command+Shift+K清理构建缓存,之后重新编译项目 - 低版本RN适配:如果你使用的是RN0.60以下版本,需确认手动link步骤已完成,已将LottieSplashScreen.xcodeproj添加到项目Libraries目录,且在Build Phases的Link Binary With Libraries中添加了libLottieSplashScreen.a
- 新架构适配:如果开启了RN New Architecture,需确认当前使用的react-native-lottie-splash-screen版本支持新架构,否则会触发编译冲突
90%以上指向AppDelegate.m的CompileC报错都是头文件导入错误、代码插入位置错误、动画资源未正确引入三类问题导致,可优先排查这三点。
内容的提问来源于stack exchange,提问作者Daniel Döbereiner
相关产品推荐
相关产品推荐

