【Xcode】非Objc文件(c, c++)引起的NSObjCRuntime错误

来源:互联网 发布:孙尚香 知乎 编辑:程序博客网 时间:2024/05/17 01:02

非Objc文件(c, c++)引起的NSObjCRuntime错误

  今天在objc工程中,导入一些c、c++文件时,,编译引起了NSObjCRuntime错误,,,仔细检查发现,

原来是在SK_Prefix.pch中,定义了

View Code
复制代码
1 #ifdef __OBJC__2     #import <Foundation/Foundation.h>3     #import <UIKit/UIKit.h>4 #endif5 6     #import "Utils.h"7     #import "Constants.h"8     #import "SKBackgroundNavigation.h"9     #import "BusConfig.h"
复制代码

这样导致了Project里的非Objc文件也引入了这些声明,于是出现了上面的错误。修正的办法就是把相关声明都放到__OBJC__里面

View Code
复制代码
1 #ifdef __OBJC__2     #import <Foundation/Foundation.h>3     #import <UIKit/UIKit.h>4     #import "Utils.h"5     #import "Constants.h"6     #import "SKBackgroundNavigation.h"7     #import "BusConfig.h"8 #endif

原创粉丝点击