• OCSwift混编Pod引入第三方的问题 问题描述:Swift应用OC 的开源框架,需要创建一个桥接头文件,问题就出在这个看似简单,却隐藏着一个巨大的问题:一切都按部就班的在桥接头文件中引入了OC 头文件,但是...

    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时关于这句话是否要加上的浅显原因(其实深入的东西就需要接着百度了)

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



    展开全文
  • 在进行swift编程的时候,有时候难免要进行与Objective-c的混编(如引入OC语言的第三方),本文主要讲述swiftOC混编的两种方法。 一.比较方便直接的方法 1.直接在创建好的swift工程中任意新建一个OC的类,我们会...
  • 项目下个版本开始用Swift编写,这涉及到OCSwift混编的问题。早podfile中写入use_frameworks! 再导入一个Swift第三方框架,运行项目发现AFN找不到了:把Swift的第三方和use_frameworks!去掉项目又可以运行了,首先...
  • iOS开发之OCSwift混编 2018-08-17 17:53:26
    相信很多开发者在开发过程中,使用别人封装好的三方框架,但由于三方框架的开发语言(OC或者Swift)与现有工程的开发语言不一致,导致无法直接使用,那么对于混编来说,是不二的选择。 Swift项目使用OC框架   1...
  • 关于OCSwift混编过程中 “xxxx-Swift.h”为找到的问题 在对OCSwift混编中,加了3个target: 但是在混编过程中,某两个Target 提示找不到 “xxxxx-Swift.h” 在网上找了很多资料,说“xxxx-Swift.h”名字必须与...
  • swift导入oc第三方 2019-05-05 15:31:39
    swift导入oc第三方 前言 对于ios开发而言,目前很多第三方或者demo还是以oc为主,swift相关的资料很少,这篇文章就结合博主的开发实例对在swift工程中导入并使用oc版本的第三方进行阐述。 正文 1.编写oc桥接头...
  • 这就涉及到OCswift混编了,正好本人最近也在模仿斗鱼直播的项目,自己也使用了OC的第三方,今天就给大家介绍一下自己的使用过程。 一、导入第三方 这里需要注意点,我使用pod导入OC的第三方...
  • Swift混编OC第三方 2019-07-24 10:29:32
    现在Swift的第三方还比较少,有时候需要使用OC的第三方,其实也是很容易的。 我们使用如下步骤: 1、新建的Swift项目,第一次创建OC文件时会询问是否生成 桥接头,选择是的话会生成一个桥接头文件,文件如图: ...
  • OCSwift混合使用 2017-07-11 09:13:02
    随着swift趋向于稳定,越来越多的公司启动的新项目也想使用swift过把瘾,使用swift的好处与弊端不再赘述。目前版本是swift3.0,而且Xcode9beta版中已经更新到swift4.0。使用swift开发是大趋势,这里从以下几个方面看...
  • 问题描述:在swift项目中的桥接文件中 #import导入然而在编译的时候却提示 该文件Not Found解决办法: 中添加一项: 保存并重新编译就可以找到了
  • 桥接头文件主要应用于swiftoc混编。这里有两种创建方式。 方法一: 适用于项目(swift项目)之前没创建过oc的类,或(oc的项目)swif的类 这里以swift项目为例 既然没用过就创建一个呗Commond+n然后创建,这...
  • OC项目集成Swift框架流程 2019-03-21 15:53:16
    项目中有这个需求,查看了很多资料,自己再Mark一下: 1、如果项目中没有swift文件,需要创建一...3、在pods中找到集成的swift三方库,在Build Settings中搜索swift language version,改成三方所支持的最高版本...
  • Flutter嵌入swift混合开发 2020-03-03 12:04:41
    前奏: 目前基于flutter的活跃程度,有很多的开发人员开始学习flutter,我也是其中的一枚小卒。由于本公司项目涉及一些小游戏的开发,两端或者是三端(包括web)开发起来可能比较耗费人力物力,并且在计算逻辑上...
  • 前言 自从Xcode10正式版发布之后, 先吃螃蟹的朋友赞叹了Dark Mode...出于此原因考虑, 我便一直在使用Xcode9.4.1 及 Swift4进行混编项目的开发. 然而每每使用低版本的Xcode打包上传APPStore时, 就会收到苹果的官方警...
  • 转自:... ...TimLiu-iOS 最新更新日期:17-7-28 欢迎大家多多贡献和提出宝贵的意见. ...这是一个用于iOS开发的各种开源、开源资料、开源技术等等的索引. github排名https://github.com/
  • Swift: 在Swift中桥接OC文件(自己创建的类文件、第三方文件) 一、介绍  随着Swift的逐渐成熟,使用swift开发或者混合开发已经成为了一个趋势,本身苹果公司也十分推荐使用Swift这门新语言。目前Swift已经...
  •  项目中用了MJExtension第三方,今天合并了同事的代码,突然就报错了。上图  说属性重新定义了。 二:解决思路;  1.MJExtension里的内容我肯定事没动的,那么怎么会出问题。源码不能动。  2.查资料,都是...
  • SwiftOC 互相调用 2018-07-20 16:19:07
    Swift 调用 OC Swift 调用 OC 分为两种常见情况,一种是直接在 Application 的 project 中使用;另一种情况是,在 framework 开发中使用。 对于互相调用的原理,如下图所示,更详细的内容可以参考 《Using Swif ...
  • 详解SwiftOC混编 2019-07-22 02:41:29
    前言: 我们在一些情况下,仅仅使用swift 是无法完成一个项目的,在swift项目中必要用到...在这样的一些背景下,你就必须要实现这两种语言的混编。反过来也一样,比如开发者打算用swift实现一些新的功能要用到三方...
  • (lldb)po 变量名warning: Swift error in module 项目名.Debug info from this module will be unavailable in the debugger.error: in auto-import:failed to get module '项目名' from AST context: ...这种情....
1 2 3 4 5 ... 9
收藏数 163
精华内容 65