cocoapods公共库制作笔记整理

第一步:新建远程仓库

  • 去代码托管平台新建仓库:个人推荐码云gitee,毕竟是咱中国人自己的;
  • 具体步骤看下面截图,应该比较详细了。


    gitee.png

第二步:创建项目

  1. 执行的相关命令如下
    & cd /Users/iPackage/Desktop  ///进入指定目录 
    & pod lib create  TestDemo /// 创建项目

接下来会让你回答一些列问题:

1、What is your email? /// 填入自己的邮箱地址。
2、What platform do you want to use?? [ iOS / macOS ] /// 根据自己的需要选择, 此处选择iOS。
3、What language do you want to use?? [ Swift / ObjC ] /// 根据自己的需要选择, 此处选择ObjC。
4、Would you like to include a demo application with your library? [ Yes / No ] /// 是否创建一个demo应用包含在工程里, 根据自己的需要选择,此处选择Yes。
5、Which testing frameworks will you use? [ Specta / Kiwi / None ] /// 是否需要使用测试Framwork,选择None。
6、Would you like to do view based testing? [ Yes / No ] /// 否需要做接界面调试test,此处选择No。
7、What is your class prefix? /// 设置工程文件的前缀,这个根据自己的代码规范填写。

至此我们就创建了一个空的比较合格的工程,接下来我们就需要将我们的功能代码注入该工程,具体步骤如下:

1、功能代码注入

进入如下图所示文件路径,将我们的功能代码注入Classes文件类,并删除Replaceme.m文件


TestDemo

功能代码注入

第三步:将代码推送至远程仓库(第一步创建的)

进入我们刚创建的远程仓库


image.png
  1. 修改配置文件


    修改配置文件
Pod::Spec.new do |s|
  s.name             = 'TestDemo'
  s.version          = '0.0.1'
  s.summary          = '我的测试Demo'

# This description is used to generate tags and improve search results.
#   * Think: What does it do? Why did you write it? What is the focus?
#   * Try to keep it short, snappy and to the point.
#   * Write the description between the DESC delimiters below.
#   * Finally, don't worry about the indent, CocoaPods strips it!

  s.description      = <<-DESC
TODO: Add long description of the pod here.
                       DESC

  s.homepage         = 'https://gitee.com/wanly/TestDemo'
  # s.screenshots     = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2'
  s.license          = { :type => 'MIT', :file => 'LICENSE' }
  s.author           = { 'xxxxxxxx' => 'xxxxxxxx' }
  s.source           = { :git => 'https://gitee.com/wanly/TestDemo.git', :tag => s.version.to_s }
  # s.social_media_url = 'https://twitter.com/'

  s.ios.deployment_target = '9.0'

  s.source_files = 'TestDemo/Classes/**/*'
  
  # s.resource_bundles = {
  #   'TestDemo' => ['TestDemo/Assets/*.png']
  # }

  # s.public_header_files = 'Pod/Classes/**/*.h'
  # s.frameworks = 'UIKit', 'MapKit'
  # s.dependency 'AFNetworking', '~> 2.3'
end
  1. 进入终端,进行提交
    & cd /Users/iPackage/Desktop/TestDemo /// 进入之前创建的项目目录
    & git add *
    & git commit -s -m"frist upload"
    & git remote add origin https://gitee.com/wanly/TestDemo.git ///(这个地址要换成你的远程仓库地址)
    & $ git push origin master ///添加版本号
        /// 若出现//fatal: refusing to merge unrelated histories这样的错误可执行下面的命令
        /// git pull origin master --allow-unrelated-histories
        //做完以上操作,可以再次push,
        ///添加版本号
    & git tag -m "first release" "0.1.0"
    & git push --tags

    /// 备注:删除tag方式    
    ///本地删除
    & git tag-d v0.0.1
    ///远端删除
    & git push origin :refs/tags/v0.0.1

第四步:发布库,文件spec文件提交至cocoapod

知识点插入:
  • 注册 pod trunk(这里需要保证gem源或者pod是最新版本,否则有可能会失败)
    & pod trunk register '邮箱''用户名'  

接着你的邮箱会受到一条邮件通知,点击邮箱中的链接,即完成truck注册

发布公开库

知识点插入:
  • 这里需要注意你本机的网络DNS配置信息,最好先检查一下DNS服务器地址是否包含8.8.8.8(我之前在进行下面操作的时候,就是在这里被坑了好久)


    image.png

    1.OK 一切准备工作就绪,进入终端:

pod lib lint  TestDemo.podspec --allow-warnings --use-libraries /// 本地检测代码仓库是否有问题
pod spec lint  TestDemo.podspec --allow-warnings --use-libraries /// 远程检测代码仓库是否有问题
pod trunk push  TestDemo.podspec --allow-warnings --use-libraries /// 使用pod trunk命令,把podspec文件推送到CocoaPod官方库

--use-libraries 如果引用了静态库编译时需要静态库,
--allow-warnings 忽略警告

在验证和上传你的podspec文件到trunk之前,需要将你的源码push到Github上,tag一个版本号并发布一个release版本,这样podspec文件中的s.source的值才能是准确的

至此一切顺利的话,应该就可以通过

pod 'TestDemo' 

方式直接在项目中进行引用了

2.提交修改

git add -A && git commit -m "Release 1.0.1"
git push origin master
git tag '1.0.1'
git push --tags  ///将tag推送到远程仓库
pod trunk push TestDemo.podspec  --allow-warnings /// 发布 忽略警告 --allow-warnings

参考:
https://www.jianshu.com/p/d2fe3bd1767d

你可能感兴趣的:(cocoapods公共库制作笔记整理)