我可以在iOS上的Google云消息中禁用模块导入(@import)吗?
我一直试图通过Cocoapods将GCM集成到我现有的iOS项目中。在构建时,我一直有编译错误,抱怨“@import errors…”和“…modules disabled”。我确实启用了模块,但问题发生了,因为我混合使用了.m和.mm(Objective-C++)文件,其中不支持模块(其他人已经提出了这一点) 我可以使用提供的预处理器标志“GMP_NO_MODULES”(例如,在GlgInstanceID.h中)来抑制某些文件中的错误我可以在iOS上的Google云消息中禁用模块导入(@import)吗?,ios,google-cloud-messaging,Ios,Google Cloud Messaging,我一直试图通过Cocoapods将GCM集成到我现有的iOS项目中。在构建时,我一直有编译错误,抱怨“@import errors…”和“…modules disabled”。我确实启用了模块,但问题发生了,因为我混合使用了.m和.mm(Objective-C++)文件,其中不支持模块(其他人已经提出了这一点) 我可以使用提供的预处理器标志“GMP_NO_MODULES”(例如,在GlgInstanceID.h中)来抑制某些文件中的错误 #如果没有模块 #进口 #否则 @进口基金会; #恩迪夫
#如果没有模块
#进口
#否则
@进口基金会;
#恩迪夫
但是其他必需的头文件(例如GGLConfiguration.h)没有内置标志
有人找到了短期解决方案吗?我认为现在没有任何方法来解决这个问题,因为有些内部文件似乎不尊重这个标志。尽管GCM人员将很快对库进行更新,但这应该会解决这个问题。为什么不在项目或目标预处理器宏中添加GMP\u NO\u MODULES=1?遗憾的是,我意识到了同样的事情,并决定走不同的路,直到GCM人员修复他们的库为止
#if GMP_NO_MODULES
#import <Foundation/Foundation.h>
#else
@import Foundation;
#endif