iOS 如何在Swift项目中导入OC头文件?
2019-09-16 本文已影响0人
齐舞647
前言:在我们写
Swift
的项目中,经常会用CocoaPods
引入一些Objective-C
的第三方库。然而Objective-C并不能直接导入。故这篇博客诞生了。
问题:这些第三方库的头文件并不能直接引用导入,如何解决?
方案:使用Objective-C桥接头文件(Objective-C Bridging Header)
- 第一步,申请一个.h文件。
注意命名规则为TargetName-Bridging-Header
。
- 第二步,选择 Targets -> Build Settings -> 选择all并搜索header。
- 第三步,填写桥接头文件(Objective-C Bridging Header)的相对路径。
- 第四步,将需要导入的第三方库头文件。(这里以高德地图SDK举例)
#ifndef Qi_MAMapDemo_Bridging_Header_h
#define Qi_MAMapDemo_Bridging_Header_h
#import <MAMapKit/MAMapKit.h>
#import <AMapFoundationKit/AMapFoundationKit.h>
#endif /* Qi_MAMapDemo_Bridging_Header_h */
- 完成,现在已经可以在项目中使用这些第三方库了。
Q:可能有同学会问这和
.pch
文件有什么区别?
A:猜测Swift底层做了很多优化,会判断当前文件是否用到某些头文件,再定向导入。不用担心性能问题。与pch不同,Swift的头文件导入显得更加智能。