iOS组件库创建(一)

一、创建远程私有索引库

1、什么是远程私有索引库?

远程私有索引库, 用来检索私有库,例如终端输入pod search AFNetworking,可以检索出相关库的名称、版本、子库等信息。

2、创建远程私有索引库项目

(样例使用的是CODING平台、可以使用github等其他平台) CODING平台创建项目iOS_xxx索引库 代码库MJSpecs: 

调研中,创建组件仓库中均使用https没有使用SSH,所以在项目都是用https路径。

3、打开终端,将远程私有库关联到本地

cd ~/.cocoapods/repos

pod repo add MJSpecs https://e.coding.net/xxxx/xxxx/MJSpecs.git

执行中会提示输入用户名密码,如下图:

克隆之后打开.cocoapods/repos文件,终端open ~/.cocoapods/repos 多出MJSpecs项目文件: 

到此索引库关联完成。

二、创建远程私有组件库

1、创建样例组件库MJKit

终端切换到本地project文件目录下(project自己创建,放置组件项目的文件夹):

cd /Users/xxxx/Desktop/project

pod lib create MJKit

#MJKit代表想要封装的组件名称, 这个根据自己的需求而定。

创建的时候会可能会提示输入邮箱,输入之后,会提示输入项目的一些属性,如下图:

创建完成之后自动会自动打开此项目,目录结构如下图:

可以发现在Pods文件下面现在有一个MJKit的文件夹,就是我们上面pod lib create MJKit时候创建的文件夹名

2、创建组件远程仓库

样例在CODING平台创建项目iOS_组件库:

创建代码仓库MJKit,如下图:

3、创建成功后配置MJKit项目的.podspec文件,文件位置 

4、配置成功后,把本地的组件代码提交到远程仓库

这里使用命令行: cd /Users/xxx/Desktop/project/MJKit 

#添加远程仓库 git remote add origin https://e.coding.net/xxx/xxx/MJKit.git git

push -u origin master #第一次可能会报错可尝试用

git push -u origin master -f 可能会覆盖远程的修改

git add . #记得后面一定要有 .

git commit -m "创建样例组件"

git push -u origin master git tag '0.1.0' #注意:这里的tag号必须和.podSpec文件的版本号一致

git push --tags

推送之后查看远程平台,如下图:

5、对文件进行本地验证和远程验证(在工程目录下)

从本地验证你的pod能否通过验证:

pod lib lint --use-libraries --allow-warnings

--verbose:有些非语法错误是不会给出错误原因的,这个时候可以使用--verbose来查看详细的验证过程来帮助定位错误。

--use-libraries:表示使用静态库或者是framework,这里主要是解决当我们依赖一些framework库后校验提示找不到库的时候用到。

--allow-warnings:表示允许警告。

从本地和远程验证的pod能否通过验证

pod spec lint --use-libraries --allow-warnings

将组件项目的.podspec 文件提交到本地的私有索引仓库,然后再push到远程私有索引仓库

pod repo push MJSpecs MJKit.podspec --use-libraries --allow-warnings 

此时打开~/.cocoapods/repos

6、查看远程私有索引库

7、使用终端查看自己的私有组件

pod search MJKit 

如果没有找到可以删除search_index.json

终端输入rm ~/Library/Caches/CocoaPods/search_index.json

再pod search MJKit

三、项目中组件库使用

创建一个新的项目ModuleDemo,添加podfile文件,如下:

source 'https://github.com/CocoaPods/Specs.git'

source 'https://e.coding.net/xxx/xxx/MJSpecs.git'

use_frameworks!

platform :ios, '9.0'

target 'ModuleDemo' do  

  pod 'MJKit', '0.1.0'  


  target 'ModuleDemoTests' do    

  inherit! :search_paths  

  end

end

这个时候cd到项目下执行pod install是会报错的,提示找不到此库。

首先需要在终端执行pod repo update --verbose 更新库,之后再cd到项目下执行pod install。

版本更新之后也需要更新。

 iOS组件库创建(二)

原文地址:https://www.cnblogs.com/lulushen/p/14798834.html