链接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后编译出错的主要内容,如果未能解决你的问题,请参考以下文章