Cocoapods方式导入OC库和swift库


http://blog.csdn.net/u010291330/article/details/52606233

导入 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


 
 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM