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

Posted

技术标签:

【中文标题】编译 pod 时“在框架模块中包含非模块化标头”【英文标题】:“Include of non-modular header inside framework module” while compiling pod 【发布时间】:2015-08-07 03:31:21 【问题描述】:

我正在创建一个使用 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"
    ^

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

Swift compiler error: "non-modular header inside framework module" Include of non-modular header inside framework module XCode6: Receiving error "Include of non-modular header inside framework module"

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

我不明白这个错误是什么意思,因此我很难解决这个问题。有人有其他解决方案吗?

【问题讨论】:

【参考方案1】:

您应该像这样添加标志 --use-libraries

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

【讨论】:

感谢您的提示!它现在构建

以上是关于编译 pod 时“在框架模块中包含非模块化标头”的主要内容,如果未能解决你的问题,请参考以下文章

在框架模块中包含非模块化标头

在框架模块中包含非模块化标头

XCode6:收到错误“在框架模块中包含非模块化标头”

用于自定义 swift 框架的 Sqlite

k8s集群启动了上万个容器(一个pod里放上百个容器,起百个pod就模拟出上万个容器)服务器超时,无法操作的解决办法

编译 Ionic 应用程序时未设置 PODS_ROOT 和其他 pod 环境变量