场景:
当前是一个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步骤