我正在尝试在Cocoa Framework swift项目上运行 pod lib lint ,它会返回以下错误:
- ERROR | [iOS] xcodebuild: /MyProject/route.h:164:8: error: redefinition of 'rt_msghdr2'
- NOTE | [iOS] xcodebuild: /Applications/Xcode.app/Contents/Developer/Platforms
/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator10.3.sdk
/usr/include/net/route.h:164:8:
note: previous definition is here
我有一个具有以下导入结构的Objective-C类(NetworkUtil.h - NetworkUtil.m)。
#if TARGET_IPHONE_SIMULATOR
#include <net/route.h>
#else
#include "route.h"
#endif
这是因为route.h文件只存在于iOS模拟器SDK中,而不存在于实际的iOS SDK(https://stackoverflow.com/a/23411469/5973853)中。我检查它是否是iPhone模拟器,所以原来&lt; net / route.h&gt;将导入,或者它在实际的iPhone上运行,在这种情况下,它会手动复制'route.h'。
Xcode设法正确构建和运行整个项目,但 pod lib lint 使用的xcodebuild却没有。出于某种原因,它同时输入&lt; net / route.h&gt;并且'route.h'没有考虑 #if_TARGET_IPHONE_SIMULATOR 验证,并且由于“重新定义了几个函数”而导致冲突。
这场冲突有解决方案或解决方法吗?