iOS-组件化开发之私有库制作与版本更新(持续更新)

Posted iOS_developer_zhong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS-组件化开发之私有库制作与版本更新(持续更新)相关的知识,希望对你有一定的参考价值。

一.私有库制作与使用

准备条件

  1. github账号
  2. 设置好SSH
  3. 电脑有安装好Cocoapods环境

1. 创建远程索引库

在github上, new Repository 一个空的项目,项目如下: 下载项目

2. 创建本地索引库

注意: 名称最好和远程索引库保持一致

  1. 打开终端, 进入cocoapods配置目录下:
    cd /Users/hh/.cocoapods/repos
  2. 创建本地索引库,并与远程索引库关联
    格式:pod repo add 本地索引库名字 远程索引库的地址
    pod repo add ZgrTool https://github.com/zhonggaorong/ZgrTool.git
  3. 打开终端查看是否添加成功。输入
    pod repo ,如图

3. 创建远程代码库

在github上, new Repository 一个空的项目,项目如下: 下载项目

4. 创建本地代码库

  1. 通过终端 CD进入创建本地工程的目录。
  2. 终端操作。
pod lib create TestTwo 
//开始配置
What platform do you want to use?? [ ios / macOS ]  什么平台? 
 > ios
What language do you want to use?? [ Swift / ObjC ] 用什么语言?
 > ObjC 
Would you like to include a demo application with your library? [ Yes / No ] 创建自己的库的同时创造demo工程 
 > Yes 
Which testing frameworks will you use? [ Specta / Kiwi / None ]  是否集成测试框架
 > None

Would you like to do view based testing? [ Yes / No ]是否基于View做测试
 > NO

What is your class prefix? 工程前缀
 > Zgr
  1. 创建成功后,会自动打开工程。 项目结构如下。
  2. 代码存放区
    把相关代码全部放在这个目录,如果是不想暴露代码,就制作成动态库。

5. 修改本地代码的 podSpec文件 重点

下面表明== 需要修改 ==的地方都要看看。

Pod::Spec.new do |s|
  s.name             = 'TestTwo'
  #需要修改,版本号: 与后面上传远程代码库的tag保持一致
  s.version          = '1.0.0'   
  #需要修改,库标题
  s.summary          = '我是第二个组件.'
  
  #需要修改,库描述,一定是这种格式
  s.description      = <<-DESC
                        我是第二个组件的描述文件,需要比标题长
                       DESC
                       
  #可不用修改
  s.homepage         = 'https://github.com/zhonggaorong/TestTwo'
  # s.screenshots     = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2'
  s.license          = { :type => 'MIT', :file => 'LICENSE' }
  #需要修改,作者信息
  s.author           = { 'zhonggaorong' => 'zhonggaorong@qishihuandian.com' }
  #需要修改,github远程代码库的下载链接,文章开始创建的
  s.source           = { :git => 'https://github.com/zhonggaorong/TestTwo.git', :tag => s.version.to_s }
  # s.social_media_url = 'https://twitter.com/<TWITTER_USERNAME>'

#需要修改,能使用的最低的iOS版本
  s.ios.deployment_target = '9.0'

#需要修改,代码文件的目录
  s.source_files = 'TestTwo/**/*'
  
  #需要修改,资源文件: 图片目录
  # s.resource_bundles = {
  #   'TestTwo' => ['TestTwo/Assets/*.png']
  # }

  # s.public_header_files = 'Pod/Classes/**/*.h'
  #需要修改,依赖的framework
  # s.frameworks = 'UIKit', 'MapKit'
  #需要修改,依赖的第三方库
  # s.dependency 'AFNetworking', '~> 2.3'
end

5.1 存放代码的目录,一定要放在这个地方 Classes文件下

5.2 编译项目, 从根目录执行 cd Example,然后执行 pod install ,进行关联。

6. 编译通过后,通过终端命令上传代码至远端代码库。

//1:代码加入缓冲区
git add .
//2:把代码提交到本地库 
git commit -m “xxx"
//3:本地源与远程源进行连接
git remote add origin 远程代码仓库地址
//4:代码推送到远端
git push origin master (第一次push失败,就用强制push命令 git push -f origin master )
//5:本地代码库打上版本号
git tag 版本号 (注:这里的版本号必须和podspec里写的版本号一致)
//6: push到远端代码库  
git push --tags

//备注 查看tag 
git tag
// 备注 删除这个tag 
git tag -d 1.0.0

7. 验证podspec文件是否合理。终端命令:先进入本地项目的根目录。

pod spec lint --verbose --allow-warnings --use-modular-headers --sources='https://github.com/CocoaPods/Specs.git'

//注释:
/*
--verbose:  打印详细信息
--allow-warnings:  无关紧要的警告可以通过检查
--use-modular-headers: 使用了oc与swift混编
--sources : 依赖了第三方库,需要指定源
*/

出现下面这个图:说明验证通过。

8. 最后一步:添加到远端索引库。 执行命令

格式: $ pod repo push 远端索引库名 当前库工程的podspec 

如: 
pod repo push ZgrTool TestTwo.podspec

问题总结:

问题一:
fatal: unable to access ‘https://github.com/zhonggaorong/ZgrTool.git/’: LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443

解决办法:
先执行: git config --global --add remote.origin.proxy “”
在执行: pod repo push ZgrTool TestTwo.podspec

9. 最后一步:开始使用。

在使用工程中的Podfile中
如下进行使用:

二.私有库的更新

以上是关于iOS-组件化开发之私有库制作与版本更新(持续更新)的主要内容,如果未能解决你的问题,请参考以下文章

iOS 开发之Cocoapods的使用及制作私有pods

iOS组件库创建

组件化开发3-cocoaPods私有库制作

OpenStack搭建企业私有云 三:计算服务(持续更新...)

如何使用 Unity制作微信小游戏,微信小游戏制作方案 最新完整详细教程来袭持续更新

如何使用 Unity制作微信小游戏,微信小游戏制作方案 最新完整详细教程来袭持续更新