CocoaPods

cocoapods 是iOS开发的包管理工具,中心式的。

安装

要求:必须安装了brew和gem,如果没有安装建议自己搜索解决。
brew为Mac的包管理工具,gem是Ruby的包管理工具,cocoapods使用Ruby语言开发完成

创建 Podfile 描述文件

在项目目录下执行命令 pod install

Podfile 文件的自述

Podfile是用于配置项目所需要的第三方库的地方,使用格式如下:

  source 'https://cdn.cocoapods.org/'
  platform :ios, '7.0'
  target 'projectName' do
      pod 'AFNetworking', '3.1.0'
      ## react-native (引用本地文件)
      pod 'React', :path = './node_modules/react-native', :subspecs =[
          'Core',
      ]
  end

版本描述符解释:

0.1 高于0.1的任何版本
=0.1 版本0.1和任何更高版本
<0.1 低于0.1的任何版本
<=0.1 版本0.1和任何较低的版本
〜>0.1.2 版本 0.1.2的版本到0.2 ,不包括0.2。这个基于你指定的版本号的最后一个部分。这个例子等效于>= 0.1.2并且 <0.2.0,并且始终是你指定范围内的最新版本

如何制作自己的cocoapods库?

.podspec文件是做什么的

.podspec文件描述了一个库将怎样被添加进工程中。.podspec文件可以标识该第三方库所需要的源码文件、依赖库、编译选项,以及其他第三方库需要的配置。

一些解决方案

install 慢的问题

因为cocoapods 每次 install 之前都会执行一次 自检update,但是问题是在国内域名访问特别慢,以下是不update 直接install的命令
​pod install --verbose --no-repo-update

cdn污染问题

1.8.0+ 版本之后,默认使用cdn进行分发,不在推荐master模式
但是因为域名污染的问题,connection to raw.githubusercontent.com:443
以下为解决方案:
1. 找到 raw.githubusercontent.com 的真实IP

nslookup raw.githubusercontent.com
———————————–>>
Server: 192.168.31.1
Address: 192.168.31.1#53

Non-authoritative answer:
Name: raw.githubusercontent.com
Address: 151.101.228.133 <—— 选择这个

附获取真实ip链接
CA App Synthetic Monitor
IPAddress.com

  1. 修改本机hosts,添加DNS解析
    sudo vi /etc/hosts
151.101.228.133 raw.githubusercontent.com # 真实ip
157.230.35.153 cdn.cocoapods.org # 这里的IP仅做参考
  1. 刷新DNS缓存
    sudo killall -HUP mDNSResponder
  2. 删除 本地 master 管理缓存
    pod repo remove master
    这个操作需要几分钟的时间

本解决方案参考 https://www.jianshu.com/p/4ed3645a410a