Cocoapods方式导入OC库和swift库

Cocoapods 是 iOS 应用的包管理程序。它简化了第三方库的导入并且将帮你处理库之间的依赖。在这个教程中,我们将会使用 cocoa pods 导入 Alamofire(swift库)和AFNetworking(OC库) 这两个个第三方库 。本教程的环境 基于 iOS8 和 Xcode7.3.1
打开 Xcode 使用 Single View Application 创建一个项目。项目名称可以使用 IOS8SwiftCocoapodsTutorial,其他配置项可以自定义。选择 Swift 作为开发语言,并且设备项选中 iPhone

新建项目
咱们的这个教程中会用到一个字体,可以从 这里下载,并加入到项目中。接下来, 关闭 Xcode 项目并打开终端。首先我们需要 安装 cocoa pods。这个过程将会用到 ruby环境,而 Mac OS X 系统已经自带了 ruby。 ruby -v 查看当前Ruby的版本。在终端中输入如下命令:
sudo gem install cocoapods

译者注:因某些原因不能安装成功的同学,
ERROR: Error installing cocoapods:
activesupport requires Ruby version >= 2.2.2.
可以参考唐巧的这篇 博客
升级ruby版本
如果出现ruby版本升级问题,可以参考ruby升级笔记
然后再次执行 sudo gem install cocoapods

下一步clone 项目
pod setup --verbose


一、导入swift库Alamofire
首先,搜索需要的第三方库是否支持 CocoaPods ,执行命令:
1 $ pod search Alamofire

新建项目 CocoaPodsDemo然后 进入 Xcode 项目文件目录输入命令pod init新建 Podfile 文件
pod init

之后需要 编辑 Podfile 文件,让它包含 FontBlaster 这个第三方库。使用如下命令打开它
open -a Xcode Podfile
不要使用文本编辑去编辑Podfile,使用Xcode编辑,或者使用终端敲命令去编辑。
编辑后的 Podfile 文件如下
# Uncomment this line to define a global platform for your project
# platform :ios,'9.0'

target 'CocoaPoasDemo' do

source 'https://github.com/CocoaPods/Specs.git'
platform :ios,'8.0'
use_frameworks!

pod 'AlamofireImage','~> 2.0'

end

译者注:这里的版本号 1.0.8 为译者加上,FontBlaster 已经支持 Swift 2.0,如果不指定为该版本号,会下载最新的 FontBlaster,这要求 Xcode 7.x版本。如果你使用的是 Xcode6.x 版本,需要指定该版本号。
项目的 target 是 iOS8.0, use_frameworks! 这句是必须的,因为 Swift 使用的是框架而不是静态库。 pod 'FontBlaster' 告诉 Cocoapods 你想在项目中使用 FontBlaster 。 保存对文件的修改,并在终端中输入以下命令pod install ,但这里又会遇到问题了,上网找了之后发现用这个命令已经不行了,用 pod install --verbose --no-repo-update 就可以, 前面的被墙啦!!
bogon:CocoaPoasDemo frosoft$ pod install --verbose --no-repo-update
.........
.........
Sending stats
- Alamofire,3.4.2
- AlamofireImage,2.4.1
Pod installation complete! There is 1 dependency from the Podfile and 2 total
pods installed.
bogon:CocoaPoasDemo frosoft$

FontBlaster 和相关依赖都会被自动安装。
完成后 用Xcode打开.xcworkspace白色文件,不再打开.xcodeproj那个蓝色文件

打开后工程目录如下,红色框内仍然是工程文件:

测试是否引入成功:
在swift文件中添加 import Alamofire 没有报错则成功。

二、导入OC库 AFNetworking
1、先关闭工程,修改Podfile,添加 pod 'AFNetworking',然后 update一下podfile再打开工程
target 'CocoaPoasDemo' do

source 'https://github.com/CocoaPods/Specs.git'
platform :ios,'8.0'
use_frameworks!

pod 'AlamofireImage','~> 2.0'

pod 'AFNetworking'
end

swift语言使用cocoapods配置Podfile文件时要加上use_framework!这句代码,作用是把三方库打包成静态库


2、 建立一个桥接文件 Bridging-Header.h头文件

3、修改头文件内容

#ifndef CocoaPoasDemo_Bridging_Header_h
#define CocoaPoasDemo_Bridging_Header_h

#import "AFNetWorking.h"

#endif /* Bridging_Header_h */

4、 设置一个 User Header Search Paths,否则在需要用三方库的地方是调不出来的。 在target——>Build Setting里找到search Paths ,双击 User Header Search Paths后面的空白处 设置目录路径为 ${SRCROOT} , 后边选择 recursive。

5、测试导入是否成功: import AFNetworking

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...