场景:
当前是一个Swift项目,其实什么项目无所谓,主要是混编引起的,比如说当前项目中已经pod引入了FMDB,EaseUI和Hyphenate三个框架,其中EaseUI中还包括了SD,MJR,MB等,Podfile文件如下:
platform :ios,'8.0'
target ‘DEMO’ do
pod 'FMDB','~>2.6.2'
pod 'Hyphenate','~>3.3.2'
pod 'EaseUI',:git => 'https://github.com/easemob/easeui-ios-hyphenate-cocoapods.git'
end
此时添加完桥接文件后,在Build Settings选项中为Objective-C Bridge Header设置好桥接文件路径后,在桥架文件中包含对应的.h文件,便可以全局访问这些框架,但是再要引入别的框架,比如SnapKit,这个框架是需要use_frameworks!的,于是Podfile变成了这样:然后pod update
platform :ios,'8.0'
use_frameworks!
target ‘DEMO’ do
pod 'FMDB',:git => 'https://github.com/easemob/easeui-ios-hyphenate-cocoapods.git'
pod ‘SnapKit’,'~>3.2.0'
end
这个时候原本的EaseUI.h就找不到了
去掉pod ‘SnapKit’,'~>3.2.0'和use_frameworks!再执行pod update项目又可以正常运行,现在要解决的就是这个问题。
如果在
Podfile里面不使用use_frameworks!,则是通过static library来引入管理pod框架,此时还需要在桥接文件中#import对应的.h文件。如果在
Podfile里面使用use_frameworks!,那么就需要像下面第2步那样引入framework,然后在需要的地方直接import就行,下面第4步骤