mac 系统自带ruby,使用cocoapods,直接安装cocoapods就行

终端:$ sudo gem install cocoapods

  {安装较慢是因为有墙,查看ruby镜像列表:$ gem source -l

  可尝试删除原有的镜像,增加taobao镜像,确认仅有一个taobao的哦,因为我遇到的是安装一部分,连接失败,删除原有的就安装完成了

  $ gem source -r https://rubygems.org/   

  $ gem source -a https://ruby.taobao.org/

  可查看确认是否修改成功}

安装cocoapods:$ sudo gem install cocoapods

完成!

第一次执行pods命令,会比较慢,因为cocoapods在保存信息到本地,可以使用$ pod setup命令,等待一段时间安装好了,就能使用pods了

测试:查看AFNetworking框架的版本信息:$ pod search AFNetworking,会出来所有的AFNetworking可用版本的信息

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

cocoapods的使用

【现在很多第三方都是使用OC写的,所以在swift工程中使用第三方有时会遇到需要兼容的问题,这时候就需要搭桥使用了,不过也不麻烦】

首先是使用终端工程中添加一个podfile文件,首先cd到项目目录下$ vim Podfile, (文件名大小写固定,无后缀)

然后在Podfile中写入:platform :ios,'9.1'

           pod "AFNetworking", "~>2.0"

esc键后输入:wq保存

然后 $ pod install,项目中就添加了AFNetworking框架了,不过这时的工程文件不再使用.xcodeproj文件打开了,而是使用.xcworkspace文件打开

打开工程之后,如果还需要新的框架,只需要在Podfile文件中写入框架名和版本号,再执行一次$ pod install命令就可以了

有了框架,就到使用了,我的工程是swift的,结果使用时,怎么都报错,说没有这个框架。。。

原来是不兼容问题,需要使用一个头文件来搭桥

在项目下创建一个头文件,删掉不需要的,只导入第三方就行,例如:#import "AFNetworking.h"

拿到头文件的路径,然后在工程设置中:搜索bridging,找到Object-C Bridging Header(在buildSetting->all,combined->swift compiler-code generation里面)将头文件路径赋值

完成!

这样就可以直接在swift文件中使用框架了,不需要再导入头文件

关于cocoapods和swift中使用oc第三方的更多相关文章

  1. swift 中使用OC第三方库(以AFNetworking为例)

    首先呢  把你需要的第三方库导入到你的项目中来  具体怎么导入 这不是这篇的重点  看上一篇 废话不多  直接上 (1)在项目中直接建一个 oc 的控制器  然后xcode会提醒你  要不要建造桥接文 ...

  2. Swift中的Masonry第三方库——SnapKit

    在OC开发时我常用一个名叫Masonry的第三方Autolayout库,在转Swift后发现虽然Swift可以混编OC,但总感觉有些麻烦,在Github上发现了这个叫做SnapKit的第三方库,发现使 ...

  3. 如何在swift中实现oc中的分类

    在oc中为了增强已有类的功能,我们经常使用分类.使用分类,我们可以在不破坏原有类的结构的前提下,对原有类进行模块化的扩展. 但是在swift中没有分类这种写法了.相对应的是swift中只有扩展(Ext ...

  4. Swift: 在Swift中桥接OC文件(自己创建的类文件、第三方库文件)

    一.介绍 随着Swift的逐渐成熟,使用swift开发或者混合开发已经成为了一个趋势,本身苹果公司也十分推荐使用Swift这门新语言.目前Swift已经更新到了3.0,估计没有多久4.0就要出来了.那 ...

  5. 在Swift中实现 oc与swift的混编

    在Swift中想要引用OC头文件(import),可采用混编的方法,这里以sqlite为例,采用OC-Swift桥的方式实现添加头文件1引入sqlite数据库的库文件 打开工程配置文件,在build ...

  6. 在 Swift 中调用 OC 代码

    前言 在 Swift 语言中,我们可以使用 Objective-C.C 语言编写代码,我们可以导入任意用 Objective-C 写的 Cocoa 平台框架.Objective-C 框架或 C 类库. ...

  7. Swift中的Masonry第三方库——SnapKit

        在OC开发时我常用一个名叫Masonry的第三方Autolayout库,在转Swift后发现虽然Swift可以混编OC,但总感觉有些麻烦,在Github上发现了这个叫做SnapKit的第三方库 ...

  8. iOS开发:在Swift中调用oc库

    先列举这个工程中用到的oc源码库: MBProgressHUD:半透明提示器,Loading动画等 SDWebImage:图片下载和缓存的库 MJRefresh: 下拉刷新,上拉加载 Alamofir ...

  9. 在swift中使用oc 的代码

    就是需要一个桥文件, 方法一:在swift项目中,新建一个oc的类,这时候,会弹出一个对话框,你点默认的那个选项就行了.然后在新生成的桥文件中导入你所需要的oc代码的头文件就行了. 方法二:但是有时候 ...

随机推荐

  1. lc面试准备:Reverse Linked List II

    1 题目 Reverse a linked list from position m to n. Do it in-place and in one-pass. For example:Given 1 ...

  2. 14.8.4 Moving or Copying InnoDB Tables to Another Machine 移动或者拷贝 InnoDB 表到另外机器

    14.8.4 Moving or Copying InnoDB Tables to Another Machine 移动或者拷贝 InnoDB 表到另外机器 这个章节描述技术关于移动或者复制一些或者所 ...

  3. Installing vSphere SDK for Perl

    Installing vSphere SDK for Perl 你可以安装vSphere SDK 在Linux 或者Microsoft Windows 系统,或者 部署 VSphere Managem ...

  4. 在html页面中利用ftp访问协议格式载入服务器图片

    访问格式为:ftp://用户名:密码@服务器ip:服务器端口/具体文件路径 如下所示: <img src="ftp://lxj:123@127.0.0.1:21/IMG_2013051 ...

  5. Delphi调试CGI或ISAPI 转

      因为dll文件已驻留内存,可用intrabob进行调试,也可用PWS进行调试,不过要换文件. IntraBob是资深程序员Dr.Bob编写的免费工具软件,用于测试Delphi编写 的CGI/Win ...

  6. HDU --3549

    Flow Problem Time Limit: 5000/5000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Tota ...

  7. About using UTF-8 fields in MySQL

    https://www.adayinthelifeof.nl/2010/12/04/about-using-utf-8-fields-in-mysql/ I sometimes hear: “make ...

  8. 前谷歌首席 Java 架构师谈如何设优秀的 API

    随着近来软件规模的日益庞大,API编程接口的设计变的越来越重要.良好的接口设计可以降低系统各部分之间的相互依赖,提高组成单元的内聚性,降低组成单元间的耦合度,从而提高系统的维护性和稳定性. Joshu ...

  9. hive UDAF源代码分析

    sss /** * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license a ...

  10. [转]Android UI:看看Google官方自定义带旋转动画的ImageView-----RotateImageView怎么写(附 图片淡入淡出效果)

    http://blog.csdn.net/yanzi1225627/article/details/22439119 众所周知,想要让ImageView旋转的话,可以用setRotation()让其围 ...