• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

OC和Swift混编使用Pod管理第三方库的问题

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

OC和Swift混编Pod引入第三方库的问题

问题描述:Swift应用OC 的开源框架,需要创建一个桥接头文件,问题就出在这个看似简单,却隐藏着一个巨大的问题:一切都按部就班的在桥接头文件中引入了OC 头文件,但是xcode总是报错找不到该文件。接下来详细描述问题和原因。

1.为了在Swift项目中引入OC 开源框架,我使用了pod工具引入。然后下图:

2.之后创建桥接文件:

3.然后就是在配置文件中设置桥接文件路径:

4.到这里就看似完成了,一切都很简单。但是,当编译时问题就来了,如下图:

原因是找不到该文件。可是明明使用了pod工具引入了啊。(注:百度清一色的都是以上步骤,该问题并未在百度查询到问题原因和解决方案。所谓博客恐怕都是出自一人)

5.在作了大量的测试和摸索后,终于得意解决。问题的根本原因就是我之前用pod引入了Swift开源框架,为了方便,在引入OC开源框架时我同样是使用了pod工具。我们回看第一步

Swift框架:

pod 'SnapKit''~> 0.30.0.beta1'

pod 'Alamofire''~> 3.4.0'

pod 'SwiftyJSON''~> 2.3.2'


OC框架:

pod 'SVProgressHUD'

pod 'MJRefresh'

同样还有一句话:

 use_frameworks!


没错,简单的说,在OC开发时并不用使用该语句,但是Swift开发时使用pod工具就需要加上这句话。这就导致了OC 和 Swift公用同一个项目工程中的pod时造成了以上显示的错误,即使其他步骤都没有错,但是错误原因就是找不到文件。

至于为什么会这样,我联想到了之前看到过的一篇文章好像是有这么一句话(记不太清楚了)OC是动态语言,而Swift是静态语言,这就是为什么两者在使用pod时关于这句话是否要加上的浅显原因(其实深入的东西就需要接着百度了)

既然原因找到了,解决它就好办了,我们只要把这两种语言的开源框架分开管理就可以了。。。。




鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
[Swift]完全透明沉浸式导航栏发布时间:2022-07-13
下一篇:
swift 第十课 cocopod 网络请求 Alamofire发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap