链接lottie-ios后编译出错

Posted

技术标签:

【中文标题】链接lottie-ios后编译出错【英文标题】:Compilation error after linking lottie-ios 【发布时间】:2018-11-13 01:31:48 【问题描述】:

我尝试链接 lottie-ios,但出现编译错误。 Lottie 在安卓模拟器上运行良好。

这是我所做的: 1. npm i --save lottie-react-native@2.3.2 2. react-native 链接 lottie-ios 3. react-native 链接 lottie-react-native 4. 之后,打开 Xcode 项目配置并将 Lottie.framework 添加为 Embedded Binaries

我有多个从这个开始的编译错误:

/Users/user/Code/CSULB/CECS_543/anacodiam_ios/node_modules/lottie-react-native/src/ios/../../../react-native/ReactCommon/fabric/graphics/platform/ios/float.h:8:10: fatal error: "limits" file not found
    #include <limits>
    While building module "UIKit" imported from /Users/user/Code/CSULB/CECS_543/anacodiam_ios/ios/build/Build/Products/Debug-iphonesimulator/include/React/RCTViewManager.h:8:
    While building module "Foundation" imported from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator12.1.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.h:8:
    In file included from <module-includes>:1: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator12.1.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:6:10: fatal error: could not build module "CoreFoundation"
    #include <CoreFoundation/CoreFoundation.h>

我的 React-native 版本:

react-native -V
0.57.4

截图 这是我的项目设置(文件>项目设置): https://imgur.com/MgyNqDj

我的常规设置: https://imgur.com/HoghSUA

我的标题搜索路径:https://imgur.com/Hd5ngHh

我按照本期的建议添加了$(SRCROOT)/../node_modules/react-native/React/Github

还有我的构建阶段: https://imgur.com/cg630rS

提前谢谢你。

【问题讨论】:

不要使用 react-native 链接。在大多数情况下它不起作用。使用手动链接facebook.github.io/react-native/docs/linking-libraries-ios 【参考方案1】:

正如 Anhtu 所说,lottie 的自动链接可能会被破坏。 另外,我也遇到了同样的编译问题:您应该将lottie-react-native 更新到最新版本(目前为2.5.9),他们修复了他们的iOS 项目header search path 设置。

在 2.5.8 版本中,他们的项目使用递归选项引用了 React 文件夹,这导致了 CodeFoundation 构建错误。 (这曾经是 ReactNative 推荐的,但后来发生了变化:https://facebook.github.io/react-native/docs/linking-libraries-ios) 他们从 2.5.9 开始删除了这个 header search path,现在这个 CoreFoundation 错误已经消失了!

【讨论】:

非常感谢!我更新了 lottie-react-native 的版本,它修复了我遇到的所有编译错误。 (他们本可以更新他们的文档...)

以上是关于链接lottie-ios后编译出错的主要内容,如果未能解决你的问题,请参考以下文章

在 unix 中编译 dhrystone 时出错

升级引导程序后编译资产时出错

CMake编译VTK,ITK总是出错

GCC编译出错找不到环境变量

GCC编译出错找不到环境变量

编译角度项目时出错