Cocoapods相关笔记

我的经常使用的Profile中的库

platform :ios, '8.0'  
inhibit_all_warnings!
use_frameworks!

pod 'GPUImage', '~> 0.1.7' 
pod 'AFNetworking', '~> 2.0' #网络请求
pod 'MJRefresh', '~> 3.1.0' #上下拉刷新
pod 'FMDB' #数据库
pod 'SVProgressHUD', '~> 2.0.3' #alert提醒
pod 'Masonry', '~> 1.0.0' #屏幕适配
pod 'SDWebImage', '~> 3.7.1' #加载网络图片
pod 'SSKeychain', '~> 1.2.2' #缓存本地帐号密码, 自动登陆
pod 'IQKeyboardManager', '~> 3.2.0.3' #键盘管理
pod 'DZNEmptyDataSet', '~> 1.5.1' #tableView无数据占位图
pod 'JSPatch' #热补丁修复
pod 'ReactiveCocoa', '~> 4.1.0' #NB的框架
pod 'KSCrash', '~> 1.6.0'

cocoapods原理

cocoapods将全部的依赖库放到一个名为Pods的项目中, 而后主项目依赖Pods项目, 这样, 源码管理工做都从主项目转移到了Pods项目中.ios

  1. Pods项目最终会编译生成一个libPods.a的文件, 主项目只需依赖这个.a文件便可.
  2. 对于资源文件, cocoapods提供一个名为Pods-resourses.sh的bash脚本, 该脚本在每次项目编译时候都会执行, 将第三方的各类资源文件复制到目标目录中.
  3. cocoapods经过名为Pods.xcconfig的文件来在编译时设置全部的依赖和参数.

cocoapods运做原理:git

cocoapods是一个开源的项目, 用Ruby写的, 代码托管在github上面. cocoapods功能实现依赖一个.spec文件, spec文件描述一个开源库在项目中的配置, 每一个开源库都有一个spec文件, 这些spec文件统一托管在github上的cocoapods项目中, 若是咱们须要将本身造的轮子添加pod依赖, 只需写一个spec文件, 并传到cocoapods的项目中去, 这时候经过pod search XXX便可查找到本身的项目.github

其它

其它技术博客的讲解数据库

唐巧, cocoapods基本讲解: http://blog.devtang.com/2014/05/25/use-cocoapod-to-manage-ios-lib-dependency/缓存

cocoapods入门: http://studentdeng.github.io/blog/2013/09/13/cocoapods-tutorial/bash

编写一个spec文件: http://ishalou.com/blog/2012/10/16/how-to-create-a-cocoapods-spec-file/网络

注意事项:

  1. 在项目中添加依赖库以后, 是不能直接找到头文件的, 须要进行设置:

Target > Build Setting > User Header Search Paths 中添加变量: ${SRCROOT}, 并设置recursive.框架

  1. cocoapods引用ReactiveCocoa遇到的错误

如图:ui

如图

解决: 加一句话 use_frameworks!code

platform :ios, '8.0'  
use_frameworks!
相关文章
相关标签/搜索