当使用CocoaPods安装ReactiveCocoa时,缺少一些必需的文件:
metamacros.h,在RACTuple.h中导入 EXTScope.h,在NSNotificationCenter + RACSupport.h中导入
我尝试了不同的版本:2.1.8,2.4.7,2.5.0。
重现的步骤:
将Podfile添加到包含以下内容的目录:
pod'ReactiveCocoa','〜> 2.4.7'
(或现在获得2.5.0的任何其他版本或现在的显式版本)
编译器输出:
RCError/Pods/ReactiveCocoa/ReactiveCocoa/RACTuple.h:10:9: 'metamacros.h' file not found
RCError/Pods/ReactiveCocoa/ReactiveCocoa/NSNotificationCenter+RACSupport.m:10:9: fatal error: 'EXTScope.h' file not found
#import "EXTScope.h"
现在有没有办法将ReactiveCocoa与CocoaPods一起使用?
答案 0 :(得分:1)
正如in this issue所解释的,一个可能的原因是您的sed
中有PATH
的不兼容版本。在Fink安装了GNU sed
后,我曾遇到过这个问题。
然而,还有其他原因导致linked source中的prepare_command
可能失败 - 毕竟,拜占庭命令行构造没有验证所使用的实用程序。不幸的是,ReactiveCocoa并不正式支持CocoaPods,因此除非重新排列PATH
目录解决了您的问题,否则您可能需要直接安装ReactiveCocoa而不使用CocoaPods。
答案 1 :(得分:0)
好的,我发现安装ReactiveCocoa的解决方案没有问题。因此,问题与新版sed
工具有关。您需要做的就是卸载可能通过sed
安装的brew
。所以jus run命令:
brew uninstall sed
然后perpare_command
将使用sed
的正确版本。要确保您拥有旧版sed
运行命令:$ sed --version
输出应该是这样的:
sed: illegal option -- -
usage: sed script [-Ealn] [-i extension] [file ...]
sed [-Ealn] [-i extension] [-e script] ... [-f script_file] ... [file ...]