• 今天在用swift写项目时,需要用CocoaPods引入SDWebImage这个三方库,于是开始在Vim命令中创建pod file,在创建之前需要cd到当前项目的目录中, Podfile创建步骤如下: 1、创建Podfile:touch Podfile 2、编辑...

    今天在用swift写项目时,需要用CocoaPods引入SDWebImage这个三方库,于是开始在Vim命令中创建pod file,在创建之前需要cd到当前项目的目录中,

    Podfile创建步骤如下:

    1、创建Podfile:touch Podfile

    2、编辑Podfile文件:vim Podfile

       按 i 进入编辑状态,编辑完成后按Esc退出编辑状态,然后输入:wq 返回,

       Podfile文件的内容如下:

    platform :ios, '7.0'
    use_frameworks!
    target 'Bantang' do
    pod 'SDWebImage'
    end
    需要注意的一点是:swift和OC中有一点不同,在swift中配置Podfile文件时要加上 use_framework! ,作用是把三方库打包成静态库,

    在swift中调用三方库

    1、选中target -> General中的Linked Frameworks and Libraries ,点击+添加SDWebImage.framework


    2、导入框架之后,直接在需要用到的swift类中 import SDWebImage,


    然后就可以使用这个三方库了


    展开全文
  • 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开发过程中我们难免会使用一些OC的开源库来附注项目开发。...这里需要注意点,我使用pod导入OC第三方库SDCycleScrollView,然后进行配置出现找不到SDCycleScrollView的错误,最后还是直接复制SDCyc...

    在swift开发过程中我们难免会使用一些OC的开源库来附注项目开发。这就涉及到OC和swift的混编了,正好本人最近也在模仿斗鱼直播的项目,自己也使用了OC的第三方库,今天就给大家介绍一下自己的使用过程。

    一、导入第三方库

    这里需要注意点,我使用pod导入OC的第三方库SDCycleScrollView,然后进行配置出现找不到SDCycleScrollView的错误,最后还是直接复制SDCycleScrollView到项目中才解决的问题,这一点还不知道为什么,希望清楚的这个问题的同学指正。

    二、创建头文件

    创建一个头文件,然后将SDCycleScrollView.h文件导入到头文件中。
    创建头文件
    导入头文件

    三、配置桥接头文件

    在Build Setting里面搜索bridging,然后向Objective-C Bridging Header中添加我们创建的头文件的地址,如下图:
    配置头文件

    四、使用OC方法

    还是使用swift的方法调用就可以。

     let imageNames = ["1.png", "2.png", "3.png", "4.png","5.png"]
            let cycleScrollView = SDCycleScrollView.init(frame: CGRect (x: 0, y: 0, width: self.view.frame.size.width, height: 200), shouldInfiniteLoop: true, imageNamesGroup: imageNames)
            cycleScrollView?.delegate = self
            self.view.addSubview(cycleScrollView!)
    

    五、OC代理方法的使用

    第三方的方法会自动转成swift的方法,所以只要还是使用swift的方法调用就可以啦!

    /*
     1、按照swift的代理执行方式来就可以。
     */
    extension RecommendVC : SDCycleScrollViewDelegate{
        //图片滚动回调
        func cycleScrollView(_ cycleScrollView: SDCycleScrollView!, didScrollTo index: Int) {
            print("图片滚动回调\(index)")
        }
        //点击图片回调
        func cycleScrollView(_ cycleScrollView: SDCycleScrollView!, didSelectItemAt index: Int) {
            print("点击图片回调\(index)")
        }
    }
    
    
    展开全文
  • 这里直接说问题,在swift项目中,当你通过Cocoapods pod导入OC第三方文件,然后你去桥接文件里面添加该第三方的头文件(例如:MBProgressHUD等),你会发现会报错,错误是说没有找到该文件,也就是路径问题,下面...

    这里直接说问题,在swift项目中,当你通过Cocoapods pod导入OC的第三方文件,然后你去桥接文件里面添加该第三方的头文件(例如:MBProgressHUD等),你会发现会报错,错误是说没有找到该文件,也就是路径问题,下面直接说解决方法。

    解决方法:TARGET -> Build Settings,搜索输入 Search Paths,双击User Header Search Paths,设置目录的路径${SRCROOT},然后选择后面的recursive
    在这里插入图片描述
    command+B编译一下,就OK了。这时候你到桥接文件里面添加头文件就不会报错了,而且这里导入第三方头文件不是尖括号导入,而是双引号导入#import "MBProgressHUD.h"

    展开全文
  • 最近想试着开始写学着swift项目了,然后就在用cocoapods pod下来的第三方框架的时候出现了问题,先以为是自己创建桥接文件后,配置出错了,但是网上的那些文章都还是能把桥接文件处理好,言归正传,先上图 ...

    最近想试着开始写学着swift项目了,然后就在用cocoapods pod下来的第三方框架的时候出现了问题,先以为是自己创建桥接文件后,配置出错了,但是网上的那些文章都还是能把桥接文件处理好,言归正传,先上图

    pod的文件和桥接header文件不是在同一个目录下面,刚开始我的测试方法是把pod的文件直接copy到和桥接header文件同一个目录下面,就出现下图的样子,


    这样是成功的,那就说明应该就是路径相关的问题,但是不能每次都pod下来再把第三方copy到主目录下面去啊,这样的话就太麻烦了,所以我就又在网上找到了问题的解决办法,就是在你pod第三方库的taget,下面的图我标注了target个位置,在target->Build Setting里面找到search Paths,双击User Header Search Paths后面空白的地方,设置目录的路径${SRCROOT},然后选择后面的recursive,


    这样就大功靠成了,可以在桥接文件随便import第三方库的东西啦!!!

    只是一个新手刚开始着手干swift的时候遇到的问题,就把它总结了,希望下个遇到这个问题的伙伴可以马上解决哦,如果哪里没对,老司机们可以帮忙指教指教 委屈





    展开全文
  • 管理第三方库的经验,在swift中使用pod 来管理第三方库就很容易了。 第一步:cd 的工程文件夹下 第二步:pod init 为项目创建一个PodFile文件 第三步:在工程中双击PodFile文件,编辑 pod 'Alamofire' 后,保存...
  • https://www.jianshu.com/p/429a2dfb1040 这个链接地址解决办法有效,供参考,谢谢
  • OCSwift混合使用

    2017-07-11 09:13:02
    随着swift趋向于稳定,越来越多的公司启动的新项目也想使用swift过把瘾,使用swift的好处与弊端不再赘述。目前版本是swift3.0,而且Xcode9beta版中已经更新到swift4.0。使用swift开发是大趋势,...OC引用Swift第三方
  • OCSwift混编(惊喜!)

    2015-05-12 20:30:25
    今天在和一位前辈交流的之后,使用了OCSwift混编开发,遇到了一个让我忍不住要欢呼的情况,在这里,跟大家分享一下,也再次赞叹一下XCode的强大.OCSwift混编...先通过Pod导入第三方框架,然后, 使用 Xcode 打开工作组文
  • OC 项目中使用基于 Swift 的 CocoaPods 库 随着 Swift 的流行,各种神奇的库也开始有对应的 Swift 版本了,而其中一些更神奇的库却只有 Swift 版本… 正巧接手了一个前人用 Swift 写的项目,里面有一个...
  • 情景我在桥接文件中直接写入#import 然后在swift文件中得重新导入才可以使用,即import SVProgressHUD项目中很多地方都需要SVProgressHUD,在每一个需要SVProgressHUD的swift文件中再导入一遍那可不是明智的选择解决...
  • 再导入一个Swift第三方框架,运行项目发现AFN找不到了:把Swift的第三方和use_frameworks!去掉项目又可以运行了,首先思考:只添加两样东西 use_frameworks! 和 Swift 三方库。从以下几点考虑:1,AFN框架是否出了...
  • 因为swift没法打.a https://www.jianshu.com/p/ac629a1cb8f5 转载于:https://www.cnblogs.com/feng9exe/p/11388604.html
  • 由于本人在开发过程中主要用的是OC语言,所以pod的都是OC库,Podfile里又没加use_frameworks!所以一直都是.a类型的。后来因为需求需要用到一个只有swift版本的库,就使用use_frameworks!将所有.a库变成了.framework...
  • 2017.06.02 23:55* 字数 275 阅读 1619评论 0喜欢 3 环境:xcode 8.3.2 系统: MAC OX 方法:使用桥接文件进行桥接,进行使用。...现今只有OC库。 pod的安装不再阐述。 1️⃣创建一个示例工程:T...
  • 但是由于swift才出来不久,目前很多cocoapods管理的第三方库依然是由Objective-C编写的。 为了能够在swift中使用这些类库,需要在Xcode中进行一些配置。 假设你的项目是基于cocoapods的,并且
  • swift中Podfile文件一般都会加上use_frameworks! 这样就可以直接通过import MBProgressHUD来访问MBProgressHUD中的方法了 这个时候如果我们想要给MBProgressHUD添加一些方法,一般会使用category,在创建category的...
  • 这里主要说几个关于cocoapods导入三方库需要注意的问题和我遇到的坑 1、swift语言使用cocoapods配置...2、swift调用oc的三方库  a、要建立一个桥接文件,然后在target——>build setting中搜索bridg 把Objectiv
  • OC中调用Swift代码方法

    2018-06-03 09:27:48
    最近在项目中使用到了Swift语言写的第三方的框架,所以在这里将OC中使用Swift的方法说明一下。1.首先要在Build Setting中进行相关配置2.在Podfile文件中要加上use_frameworks!为什么要加use_frameworks!呢?首先需要...
  • swift中有一些比较好的框架,比如绘图框架charts,最近项目中刚好...但是,通过pod导入的第三方项目如果需要做自定义定制,就没办法修改里面的内容,这样很难受,所以只有不通过pod的方式导入,直接将source文件拖...
1 2 3 4 5 ... 20
收藏数 891
精华内容 356
关键字:

oc pod swift第三方