iOS库的介绍以及如何使用CocoaPods管理库(2016最新版本)

原创 2016年05月31日 20:16:02

我们首先从操作系统的角度来讨论一下:如何将一个用户源程序变为一个可在内存中执行的程序?



这是一门令人蛋疼的课,幸好还有点卵用、


回答我们提出的问题:

1、 《编译》作用:将用户源代码编译成若干个目标模块。

2、《链接》作用:将目标模块和它们所需要的库函数链接起来,形成一个完整的装入模块。

3、《装入》作用:将装入模块装入内存。


我们这里主要说一下程序的链接,根据链接时间的不同,可把链接分成如下三种:

1、静态链接:在程序运行之前,先将各目标模块以及它们所需的库函数,链接成一个完整的装入模块,以后不再拆开。

2、装入时动态链接:在装入内存时,将(由编译得到的那若干个)目标模块,边装入边链接。

3、运行时动态链接:在程序运行到需要该模块时,才对它进行链接。


现在步入正题:


iOS中的库分为静态库和动态库
所谓静态库:链接(上述的静态链接)时完整地拷贝至可执行文件中,被多次使用就有多份拷贝。
所谓动态库:程序运行时(上述的运行时动态链接)由系统动态加载到内存,供程序调用,系统只加载一次,多个程序共用。

有三种形式:
.a是静态库,a是一个纯二进制文件,只能包含代码不能包含资源,

.dylib(现在都是.tbd,没有.dylib了)是动态库,只能包含代码不能包含资源,

.framework既可以是动态库也可以是静态库(系统的.framework是动态库,我们自己建立的.framework是静态库)
.framework中除了有二进制文件之外还可以有资源文件(例如图片、xib)

关于库的创建以及这些库的详细讨论就不在这里讨论了,下面我们来说一下如何使用CocoaPods来管理库:

我们使用库的时候可以手动导入,但这是一个令人蛋疼的问题,好在我们可以使用CocoaPods来管理库:
CocoaPods经过多年发展,现在已经成为iOS开发事实上的依赖管理标准工具。开发iOS项目不可避免地要使用第三方开源库,CocoaPods的出现使得我们可以节省设置和更新第三方开源库的时间。
下面简单介绍CocoaPods的使用:

1.开启终端

2.移除现有 Ruby 默认源(因为它被墙了)

$ gem sources --remove https://rubygems.org/

3.使用新的源

$ gem sources -a https://ruby.taobao.org/(但是由于某种原因,它不再被维护了)

所以改用它:gem source -a https://gems.ruby-china.org

4.验证新源是否替换成功,看看现在的源

$ gem sources -l

5.安装 CocoaPods

$ sudo gem install cocoa pods

初始化

$ pod setup

备注:苹果系统升级 OS X EL Capitan 后安装改为:

$ sudo gem install -n /usr/local/bin cocoapods

$ pod setup



以后使用就非常简单了:

1.新建 Podfile 文件

$ touch Podfile(这是一个空的Podfile)(建议用pod init,初始化的Podfile)

2.编辑 Podfile 文件,并写入要添加的第三方库

use_frameworks!  //以动态库引入,生成一个动态框架

inhibit_all_warning!//压制所有第三方库的警告

platform:ios, '8.0'//平台限制

pod 'AFNetworking', '~> 2.3.1'<-------第三方库

根据自己需要编辑

3.导入第三方库

$ pod install


然后打开.xcworkspace就可以运行惹,不过这样不会自动补齐,还要这样: 

 1.选择target—》 BuildSettings —》 search Paths 下的 User Header Search Paths:点击“+”号添加一项:并且输入:$(PODS_ROOT),选择:recursive  然后就可以了。












版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

CocoaPod search 查看不到最新版本库问题

最近用cocoa pods集成  Bugtags , github上最新版本为1.1.6   pod search Bugtags 显示效果如下图: 然后尝试执行 pod repo upd...
  • Lw_Chen
  • Lw_Chen
  • 2016年01月06日 19:54
  • 2085

CocoaPod关于Podfile文件编辑时,第三方库版本号的各种写法

  • nyh1006
  • nyh1006
  • 2015年01月06日 20:21
  • 1173

iOS更新公有CocoaPods库的版本

前面的文章写了如何创建一个公有的CocoaPods库,这篇文章说一下如何更新库的版本,流程比较简单:1.修改podspec文件tag版本号,也就是修改s.version的值,提交修改后的代码和pods...

新版本CocoaPods安装

自己留存一份,及时更新,省得每次搜索。开始吧~1. (可选)如果需要安装最新版本的pod,更新RubyGemgem -v查看当前Gem版本 sudo gem update --system 可能需...

CocoaPods版本升级——本地CocoaPods更新

CocoaPods已经发布了正式版本,还是测试版本的,可能需要动动手指了。 这里不再详细的介绍怎么安装CocoaPods了,相信你来查找CocoaPods升级就应该安装过了,要是需要它的安装步骤和详细...
  • Cituses
  • Cituses
  • 2016年06月07日 11:33
  • 6671

【iOS开发-115】静态库的制作以及第三方框架iOS Universal Framework,DEBUG和RELEASE

静态库的样子就是用户拿到的文件有很多头文件.h+资源包+编译过的一个二进制文件.a(.framework)。即没有公开的那些文件都被编译进了.a或.framework里面。如果是为了保护知识产权什么的...

IOS 打开预览pdf、ppt、excel、word、tet、rtf、csv格式的文件,微信文件分享

IOS 打开预览pdf、ppt、excel、word、tet、rtf、csv格式的文件,微信文件分享

CocoaPods版本升级2016最新版

升级 OS X El Capitan 后,Time Machine 恢复下,随后因为遇到 octopress 无法更新博客问题,一番折腾 octopress 适配了 OS X El Capitan,然...

2016最新cocoapods版本更新,以及多个版本的问题

原文是:http://www.cnblogs.com/MJchen/p/6097278.html
  • GYMotgm
  • GYMotgm
  • 2017年03月14日 14:23
  • 271

使用CocoaPods来管理iOS项目的依赖库

原文地址:http://blog.devdong.com/blog/2013/12/28/shi-yong-cocoapodslai-guan-li-iosxiang-mu-de-yi-lai-ku/...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS库的介绍以及如何使用CocoaPods管理库(2016最新版本)
举报原因:
原因补充:

(最多只允许输入30个字)