【iOS】Xcode升级到16.0,Include of non-modular header inside framework module问题

问题

Xcode升级到16.0,在运行项目的时候,遇到的错误。

Include of non-modular header inside framework module 'ShareSDKExtension.SSEBaseUser': '/Users/yingyun/Documents/zhsm/qisemi/qisemi_iOS/WiseSeller/WiseSeller/ThirdParty/ShareSDK/Required/MOBFoundation.framework/Headers/MOBFDataModel.h'

原因

由于在框架模块内包含了非模块化的头文件。

Xcode不允许这种行为,但可以通过设置AllowNon-modularincludesinFrameworkModules为YES或把导入语句放在.m文件中来解决。

建议库的开发者避免在头文件中直接import第三方库的头文件。

解决方案

1、把 target 下的 Build Settings 中的 Allow Non-modular includes in Framework Modules 设置成YES。

2、将#import “**.h” 第三方库写在 .m文件中,而不是放在.h文件中。
这种分两种情况,一种是修改工程中的import,能放.m的尽可能放到.m文件。

另一种是framework制作方,使用三方依赖的时候也要避免在头文件中import三方的头文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值