Swift使用OC框架

Swift使用OC框架

场景一:使用Cocopods导入框架

看以前的教程用Cocopods导入框架也要手动设置桥接文件,我最近创建的项目用Cocopods安装的SDWebImageSVProgressHUD发现xcode会自动生成一个桥接的.h文件名字是Targets-Bridging-Header.h,并且会自动设置路径如图,这个稍后在场景2再继续介绍
image description

用Cocopods导入的OC框架Xcode会自动生成一个文件但是我并不能在本地找到他,看SDWebImage的这个文件如下
SDWebImage

在使用的过程中直接用import SDWebImage就可以使用 SDWebImage的各种方法了
这种由Cocopods导入的框架都会生成这个类似的文件不用在桥接文件有引入头文件类似#import “UIImageView+WebCache.h”.

场景二:没有使用Cocopods或者使用Cocopods手动导入框架

没有使用Cocopods就需要自己新建一个桥接文件了当然如果用了Cocopods可以使用Xcode自动生成的就是场景一的那种情况了,下图新建一个桥接文件命名随意这里的图是用别人的真是随意了啊,我建议命名规则可以按照Targets-Bridging-Header.h毕竟这样看起来正规点嘛
image description
填好文件名字,选中语言为Objective-C,点击Next

这个时候回出现一个弹框,意思就是 你是否想要配置一个OC桥接文件,选择创建
image description,路径可以按照场景一的图找到就不再上图了。这里强调一个重要设置

注意、注意、注意

重要的事情说三遍嘛

1.选择target(就是左边你的工程target)—— BuildSettings —— search Paths 下的 User Header Search Paths

2.双击后面的空白区域,并且点击“+”号添加一项:并且输入:“$(PODS_ROOT)”(没有引号),选择:recursive(会在相应的目录递归搜索文件)。

image description

image description

这个设置完才可以保证在桥接文件里能够正常引用OC库

一切设置妥当就可以手动拖入OC库了,举个例子我用的Toast

王森博客,Swift使用OC框架

10C510A6-B0F0-4E48-B87C-5376FC98A58D

愉快使用OC和Swift的混编吧