swift相关项目包含私有库引起的Undefined symbols for architecture arm64

纯OC项目默认不设置use_frameworks!,swift项目必须设置use_frameworks!。
一般的私有库为了便于修改,大都是使用源码设计不生成framework库,若不使用use_frameworks!,项目编译时,都是生成.a文件。大家都知道.a库文件可以采用#import "BITLogMacro.h"方式引入其它库的头文件,而framework库需要采用#import 方式访问其它库的头文件。造成私有库可能无法在swift项目或含有swift项目中使用。不然包找不到头文件的如下错误:

Undefined symbols for architecture arm64:
  "_OBJC_CLASS_$_BITSingleObject", referenced from:
      objc-class-ref in BITNSObject.o
  "_bitLogLevel", referenced from:
      -[BITNSObject configLog] in BITNSObject.o
      +[BITNSObject initialize] in BITNSObject.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

你可能感兴趣的:(第三方组件集成,组件,swift,ios,objective-c,framework)