美文网首页
私有库pod搭建与应用

私有库pod搭建与应用

作者: 何颀 | 来源:发表于2024-06-05 18:10 被阅读0次

首先来说说什么是私有库

顾名思义,就是你的私人代码仓库,而不是开源出去让大家都能看到并参与开发的项目。私有仓库可以进行权限控制,只有拥有权限的人才能访问并修改它,也就是我们所说的合作者。
私有库不在cocoaPods的官方Repo仓库中,而是在自建的spec repo中,库索引是以 *.podspec文件形式存在,自建的spec repo放在路径~/.cocoapods/repos下,与master同级,其链接的远程仓库可以是公开的,也可以是私有的。

创建pod库

创建私有库有两种方案,第一种方案手动创建 podspec与自己私有仓库进行关联,第二种直接使用cocoapods创建

方案一

首先选择在xcode里新建framework项目,并且在公司仓库gitLab新建两个远程仓库(索引库、代码库)用git将本地framework项目推入远端
在用终端本地执行

#用于创建一个新的 Pod(即一个 iOS 或 macOS 的库或框架)的规范文件(`.podspec` 文件)
pod spec create PodName

在.podspec里面进行编辑,稍后会详细讲解 podspec文件内容
最后在终端执行查看当前pod文件是否规范

#用于检查一个 Pod 的规范文件(`.podspec` 文件)是否符合规范和要求
pod spec lint PodName.podspec

如果编译成功,符合规范要求就可以提交pod

pod repo push 索引库 podName.podspec--verbose--use-libraries--allow-warning

方案二

1.直接使用cocoapods创建

pod lib create PodName

2.然后依次输入,执行即可

What platform do you want to use?? [ iOS / macOS ]
> iOS
What language do you want to use?? [ Swift / ObjC ]
> ObjC
Would you liketo include a demo application with your library? [ Yes / No ]
> YES
Which testing frameworks will you use? [ Specta / Kiwi / None ]
> None
Would you like to do view based testing? [ Yes / No ]
> No
What is your class prefix?
> xx

3.添加库文件。
成功后会创建出一个pod_test工程,目录结构如下

image.png

将编写好的一些文件拉入pod_test/classes中。

image.png

Example是创建Pods工程时生成的一个工程,用于验证添加的库文件是否能正常使用。Example目录下Podfile文件中自动设置了pod_test依赖,如下:

target 'pod_test_Example' do
  pod 'pod_test', :path => '../'    #自动添加了

cd Example文件夹下,终端执行pod install或pod update,安装pod_test依赖就可以查看在项目中应用了

提交pods库到github上。打标签,推送到远程。

重点:tag打的版本号必须和podspec中的s.version值相同

git tag
git tag '0.1.0'
git tag
git push origin 0.1.0

删除本地tag  git tag -d 0.1.0
删除远端tag  git push origin :refs/tags/0.1.0

.podspec文件配置

#
# Be sure to run `pod lib lint SYCoreKit.podspec' to ensure this is a
# valid spec before submitting.
#
# Any lines starting with a # are optional, but their use is encouraged
# To learn more about a Podspec see https://guides.cocoapods.org/syntax/podspec.html
#

Pod::Spec.new do |s|
  s.name             = 'xxxxx'  #搜索的关键词,注意这里一定要和.podspec的名称一样
  s.version          = '0.0.1' #版本号,每一个版本对应一个tag
  s.summary          = "iOS框架" #项目简介
  s.description      = "iOS框架" #pod详细描述
  s.homepage         = 'http://114.116.222.206:9002/zhangchao/siyucorekit.git' #项目主页地址
  # s.screenshots     = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2'
  s.license          = { :type => 'MIT', :file => 'LICENSE' } #许可证
  s.author           = { 'superMan' => 'xxxxxxxx' }#作者
  s.source           = { :git => 'http://xxx.git', :tag => s.version.to_s }#项目的地址
  s.social_media_url = 'https://twitter.com/xxx'#作者社交地址
#  s.pod_target_xcconfig = { 'VALID_ARCHS' => 'arm64'} 是修改当前pod工程中的项目设置
#  s.user_target_xcconfig = { 'VALID_ARCHS' => 'arm64','EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'arm64'}  是修改当前用户工程中的项目设置
  s.ios.deployment_target = '12.0' #支持的pod最低版本
  s.static_framework = true #动态库模式pod
  s.requires_arc     = true # 是否启用ARC
  s.source_files = 'SYCoreKit/Classes/**/*' #需要包含的源文件
  
  # s.resource_bundles = {
  #   'SYCoreKit' => ['SYCoreKit/Assets/*.png']
  # } 资源文件

  # s.public_header_files = 'Pod/Classes/**/*.h' #标记公共头文件列表
  s.ios.frameworks = "UIKit", "Foundation" #支持的系统框架
  s.dependency 'YYModel', '1.0.4'#三方依赖
end

检查规范

pod spec lint PodName.podspec 

提交pod

pod repo push 索引库 podName.podspec--verbose--use-libraries--allow-warning

相关文章

  • Pod私有库搭建

    Pod私有库搭建 1、申请私有索引库项目权限: https://gitlab.pengpengla.com/pen...

  • pod subspec 子模块

    pod私有库创建详细教程pod私有库搭建完成后,给私有库创建子模块如图的形式 一、修改文件夹结构 二、上传改动到远...

  • 创建SDK库(framework)并可以使用cocoapods引

    一:pod库的新建 1.创建pod私有库. cd 私有库存放目标路径 pod lib create xxx(私有库...

  • pod 私有库搭建流程

    Pod私有库是什么: 搭建步骤 1.创建远程索引私有库 2.创建远程私有库 3.在本地添加一个自己的远程索引库 4...

  • 组件pod私库管理和踩坑记录

    私有库搭建流程:一 准备工作:1 查看本地是否有私有库索引文件 pod repo2 建立存储podsepc的地方(...

  • 用cocoapods搭建私有库遇到的问题

    最近要将公司项目中几个自有库用pod统一管理,分别熟悉了一下在svn和git上搭建私有库的过程。这里记录下搭建私有...

  • CocoaPods私有库走过的坑

    CocoaPods创建私有库遇到的坑 1、私有库依赖自己仓库的私有库执行pod spec lint时,需要在pod...

  • 创建私有Pod库流程简单梳理

    创建私有Pod库流程简单梳理 创建私有库的索引库(默认被pod管理的公开库的索引都在pod的github仓库,此地...

  • 快速搭建Pod私有库

    使用 pod lib create 新建工程 这种方式创建的工程,pod会做好相关的配置,可以直接开发 会有六个选...

  • Pod私有库的搭建

     我在上一篇文章中说完公有库的创建,那么公有库的创建是为了开源自己写的一些工具库或者框架,而私有库的创建就是为了在...

网友评论

      本文标题:私有库pod搭建与应用

      本文链接:https://www.haomeiwen.com/subject/oiguqjtx.html