场景:
当前是一个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
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步骤
1>现在回头还把pod ‘SnapKit’,'~>3.2.0'
和use_frameworks!
加到Podfile
里面,执行pod update
2>然后点击项目工程–>TARGET
–>General
–>Linked Frameworks and Library
添加framework
3>此时桥接文件中这么写:#import "EaseUI/EaseUI.h"
,也可不写,直接下一步
4>在用到的EaseUI.h
中头文件的类import EaseUI
同理别的框架也需要先导入其framework
此外:OC和Swift混编经常会遇到框架头文件不提示的问题,解决办法如下: