XCode 13构建失败无法构建'Darwin'模块 XCode12运行正常该如何解决
问题根源
该报错是Xcode 13配套iOS 15 SDK的原生头文件依赖缺陷导致:/usr/include/netinet6/ipsec.h 中使用了uuid_string_t类型,但没有显式引入定义该类型的<uuid/uuid.h>头文件。Xcode 12.5.1配套的iOS 14 SDK不存在该问题,因为旧版ipsec.h未使用该类型,或旧版头文件引入链路间接加载了uuid.h。
修复方案
按优先级从高到低尝试即可:
- 最高效修复:在项目的Swift与Objective-C桥接文件最开头,添加代码
#import <uuid/uuid.h>,确保该引入语句放在所有其他import语句之前,预编译桥接头时会提前完成类型定义,后续引入ipsec.h时不会出现未定义报错。 - 若项目中存在单独引入
ipsec.h的文件,也可直接在该文件的#import "netinet6/ipsec.h"前添加#import <uuid/uuid.h>,效果一致。 - 检查项目构建设置中的*头文件搜索路径(Header Search Paths)*优先级,确保系统SDK的搜索路径优先级高于自定义第三方头文件路径,避免第三方头文件覆盖系统
uuid.h。 - 若使用CocoaPods等包管理工具,排查网络相关第三方库的头文件冲突,将涉及网络底层调用的第三方库更新到适配Xcode 13的最新版本。
修复完成后清理DerivedData重新构建即可正常编译。
内容的提问来源于stack exchange,提问作者Coureard
相关产品推荐
相关产品推荐

