编译pod时“在框架模块中包含非模块化头”

时间:2015-05-25 15:52:40

标签: objective-c xcode restkit cocoapods

我正在创建一个使用RestKit和一堆其他pod的pod。

当我使用命令编译我的pod时:

pod repo push myCocoapodsRepo myPodspec.podspec --allow-warnings --verbose

我得到的第一个错误是

In file included from /var/folders/mx/cg3cmvh14wl2f3mnq0sc_cd00000gn/T/CocoaPods/Lint/Pods/RestKit/Code/ObjectMapping.h:21:
/var/folders/mx/cg3cmvh14wl2f3mnq0sc_cd00000gn/T/CocoaPods/Lint/Pods/RestKit/Code/ObjectMapping/RKObjectMapping.h:23:9: error: include of non-modular header inside framework module 'RestKit.RKObjectMapping' [-Werror,-Wnon-modular-include-in-framework-module]
#import "RKValueTransformers.h"
    ^

如果我依赖其他StackOverflow线程来解决此错误,例如

他们都会说将CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES设置为YES和/或将有问题的标题文件放在Public部分而不是Project部分,它将解决问题。但对我来说,事实并非如此。这些线程也有Swift语言的共同点,但我不使用它。我仍然只使用Objective-C,但我不知道它是否会对我的问题产生影响。

我不明白错误意味着什么,因此我在解决问题时遇到了很多困难。有人有另一种解决方案吗?

1 个答案:

答案 0 :(得分:6)

您应该添加标志 - use-libraries ,如下所示:

pod repo push myCocoapodsRepo myPodspec.podspec --allow-warnings --verbose --use-libraries