没腿的鸟 发表于 2024-11-1 13:31:22

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

问题

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'
https://i-blog.csdnimg.cn/direct/87dfbb7b85b14319a7c9bba088e5a189.png
原因

由于在框架模块内包含了非模块化的头文件。
Xcode不允许这种活动,但可以通过设置AllowNon-modularincludesinFrameworkModules为YES或把导入语句放在.m文件中来解决。
建议库的开辟者克制在头文件中直接import第三方库的头文件。
解决方案

1、把 target 下的 Build Settings 中的 Allow Non-modular includes in Framework Modules 设置成YES。
https://i-blog.csdnimg.cn/direct/f2bff2b43bf941ee9113846248ac3f07.png
2、将#import “**.h” 第三方库写在 .m文件中,而不是放在.h文件中。
这种分两种情况,一种是修改工程中的import,能放.m的尽大概放到.m文件。
另一种是framework制作方,利用三方依赖的时间也要克制在头文件中import三方的头文件。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 【iOS】Xcode升级到16.0,Include of non-modular header inside framework