IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> iOS-组件化开发之私有库制作与版本更新(持续更新) -> 正文阅读

[移动开发]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中
如下进行使用:
在这里插入图片描述

二.私有库的更新

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-08-14 14:11:29  更:2021-08-14 14:11:46 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/18 23:56:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码