创建私有git仓库存放podspec容器(例如:https://kenshincui@bitbucket.org/kenshincui/reflectorspec.git)
添加私有仓库到pod(pod repo add ReflectorSpec https://kenshincui@bitbucket.org/kenshincui/reflectorspec.git)(这个仓库不放代码主要方代码库的配置信息)
使用cocoapods提供的工具创建代码库(http://guides.cocoapods.org/making/using-pod-lib-create)会比较全面,否则需要手动创建一些文件(如果已经有代码项目需要使用
pod spec create https://kenshincui@bitbucket.org/kenshincui/reflector.git
命令来创建podspec并且按照前面生成的目录来手动删除无用文件)进入生成的项目结构下的Pod中创建Classes/Reflector.swift(如果有更多类都放到Classes中),配置podspec文件, 然后进入Example中执行pod update即可开始测试你的框架(注意以后每次更新框架或类库都必须执行pod update)
使用pod lib lint 命令来验证podspec配置和类库正确性,确保没有任何Error和Warning
创建一个测试项目然后编写podfile添加如下代码进行本地测试(注意下面两种配置使用其中一种即可)
use_frameworks!
platform :ios, ‘8.0’
pod ‘Reflector’, :path => ‘/Users/cuijiangtao/Documents/05 PersonalLib/reflector’ //指定路径
pod ‘Reflector’, :podspec => ‘/Users/cuijiangtao/Documents/05 PersonalLib/reflector/Reflector.podspec // 指定podspec文件
然后执行pod install,注意由于是本地测试类库会出现在Development Pods中测试无误后放将类库工程放到git上,同时保证本地克隆在 ~/.cocoapods/repos/ReflectorSpec/ 下(例如:https://kenshincui@bitbucket.org/kenshincui/reflector.git),注意确保podspec文件中的source正确
给框架git仓库打标签(因为cocoapod是基于标签的,例如:
git tag -m “first release” 0.1.0
git push –tags
)前面仅仅进行了本地测试,实际使用需要将Spec Repo提交到podspec中,在podspec所在目录执行: pod repo push ReflectorSpec Reflector.podspec (其中ReflectorSpec是第二部创建的pod仓库,Reflector.podspec是当前目录的spec文件)
完成之后可以到~/.cocoapods/repos/ReflectorSpec中看到相应的私有库目录(其实也可以到第二个创建的git库中看到对应tag版本的spec配置)到此私有库创建完成可以使用pod search查看并正常使用,例如pod search Reflector就可以看到:
基于Swift反射的JSON到模型转化类库
pod ‘Reflector’, ‘~> 0.1.1’- Homepage: http://kenshincui.github.io
- Source: https://kenshincui@bitbucket.org/kenshincui/reflector.git
- Versions: 0.1.1 [ReflectorSpec repo]
在项目中配置podfile,添加对应配置
use_frameworks!
source ‘https://kenshincui@bitbucket.org/kenshincui/reflectorspec.git’
platform :ios, ‘8.0’
pod ‘Reflector’, ‘~> 0.1.3’
注意从cocoapods 0.36.0之后私有库必须指定source(注意source里面配置的是spec repo而不是真正的源代码仓库),最后运行pod update即可
- 更新框架需要执行4、5、8、9步骤即可(补充:删除私有仓库pod repo remove ReflectorSpec)