美文网首页程序员
向CocoaPods发布代码

向CocoaPods发布代码

作者: Andy_Ron | 来源:发表于2017-09-30 14:55 被阅读95次

Cocoapods是非常好用的一个iOS依赖管理工具,用它来管理和更新项目中的第三库使iOS开发更加方便。
使用别人优秀的代码在程序员开发过程中是非常常见的事,为别人贡献代码也是很有必要的事。
这篇文章是我总结向Cocoapods贡献代码的过程。我以自己一个非常非常简单的项目ARFPSStatus来记录这个过程。ARFPSStatus非常简单,是Swift写的在状态栏显示屏幕的FPS,源码只有一个Swift文件。

来吧!🎉我试着为iOS开发贡献一点绵薄之力吧。🎉

一、安装cocoapods

sudo gem install cocoapods --pre

二、创建代码并上传代码到Github

就是要发布的代码了,具体怎么上传代码到Github上我就不重复了。

三、在github上发布一个版本

点击这边的release:


发布一个版本,假设是0.1.0:

创建podspec文件

常见一个<项目名称>.podspec文件,我这边就是ARFPSStatus.podspec文件,内容如下:

Pod::Spec.new do |s|
  s.name         = "ARFPSStatus"
  s.version      = "0.1.0"
  s.summary      = "ARFPSStatus - Show FPS Status on StatusBar in Swift"
  s.homepage     = "https://github.com/andyRon/ARFPSStatus"
  s.license      = "MIT"
  s.authors      = { "andyron" => "rongming.2008@163.com" }
  s.source       = { :git => "https://github.com/andyRon/ARFPSStatus.git", :tag => "0.1.0" }
  s.frameworks   = 'Foundation', 'UIKit'
  s.platform     = :ios, '9.0'
  s.source_files = 'ARFPSStatus/*'
  s.requires_arc = true 

end
  1. s.name – 项目名称,也就是别人使用Pod时使用的名字,需要唯一,可事先在Cocoapods上查询一下。
  2. s.version – 这是你 Pod 的版本。务必注意,它得和 Github release 的版本号相同,就是刚才发布的版本0.1.0。如果两者不匹配,就会报错。
  3. s.summary 和 s.description – 这两个变量最终会显示在 Cocoapods 页面上。请确保 description 比 summary 更长,否则将会报错。description不是必须的。
  4. s.homepage – 这是 Pod 源代码的 URL。
  5. s.author – 开发者信息,开发者名字和邮箱。
  6. s.source_files – 这是最重要的参数。不是所有Github项目中所有文件都需要提交到CocoaPods里,项目中可能有一些Demo、图片啊等,提交到CocoaPods的只需要源码,就是别人使用时最少所需的代码。
    例如,我需要提交的是ARFPSStatus/ARFPSStatus.swift文件,s.source_files就是ARFPSStatus/ARFPSStatus.swift,或者之后如果再在ARFPSStatus/目录中添加其他文件,s.source_files就可以是ARFPSStatus/*
    当然,还可以是其它一些形式。
    ARFPSStatus/*.swift
    ARFPSStatus/*.{swift,plist}

Podspec文件的详细语法规则可查看官网的Podspec Syntax Reference

验证项目

CocoaPods 需要验证项目有没有错误

  • pod lib lint
$ pod lib lint

 -> ARFPSStatus (0.1.0)
    - WARN  | [iOS] license: Unable to find a license file
    - WARN  | xcodebuild:  /Users/andyron/myfield/github/ARFPSStatus/ARFPSStatus/ARFPSStatus.swift:91:17: warning: variable 'label' was never mutated; consider changing to 'let' constant

[!] ARFPSStatus did not pass validation, due to 2 warnings (but you can use `--allow-warnings` to ignore them).
You can use the `--no-clean` option to inspect any issue.

如果想忽略警告,可使用--allow-warnings

  • $ pod lib lint --allow-warnings

发布

  • 创建 Trunk 账号
    关于Trunk可以查看为什么做 Trunk这篇文章
    创建 Trunk 账号很简单,只要一个邮箱。
    pod trunk register rongming.2008@163.com
    邮箱会收到一封确认邮件,确认成功:
  • 推送代码到Pod
    pod trunk push ARFPSStatus.podspec
    当然也可使用pod trunk push ARFPSStatus.podspec --allow-warnings来忽略一些不必要的警告。
    成功后:
$ pod trunk push ARFPSStatus.podspec 
Updating spec repo `master`

--------------------------------------------------------------------------------
 🎉  Congrats

 🚀  ARFPSStatus (0.1.0) successfully published
 📅  September 28th, 11:33
 🌎  https://cocoapods.org/pods/ARFPSStatus
 👍  Tell your friends!
--------------------------------------------------------------------------------

使用新发布的代码

发布成功和可能需要一段时间才能使用,可以到Cocoapods上查询。

  • 项目的Podfile文件中添加ARFPSStatus,并安装。
target 'FPSDemo' douse dynamic frameworks
  use_frameworks!

  pod "ARFPSStatus" 

end
  • Pods项目会多出ARFPSStatus目录,里面的Support Files目录不是我添加的,是Cocoapods自动添加的一些相关文件。

参考:
基于 Swift 创建 CocoaPods 完全指南
Podspec Syntax Reference

相关文章

  • 向CocoaPods发布代码

    Cocoapods是非常好用的一个iOS依赖管理工具,用它来管理和更新项目中的第三库使iOS开发更加方便。使用别人...

  • 代码发布到CocoaPods

    每次尝试接触一个新东西,总不免出些七七八八,乱七八糟的问题。明明之后很多操作好像似乎也一样,但是一开始总要报各种错...

  • 代码发布到cocoapods

    发布 Git 管理的代码至Cocoapods 1. 创建.podspec文件 Git 管理的代码都会有 .git ...

  • 开源cocopods spec

    相关参考链接:手把手教你发布自己的cocoapods开源库【原】iOS:手把手教你发布代码到CocoaPods(T...

  • 使用Cocoapods创建私有podspec

    iOS:手把手教你发布代码到CocoaPods(Trunk方式)

  • CocoaPods-发布公有库

    一、发布代码到CocoaPods的步骤 1.注册cocoa pods(已注册可跳过) 2.验证cocoapods ...

  • CocoaPods-4.发布公有库

    一. 发布代码到CocoaPods的步骤 注册cocopods(已注册可跳过) 验证cocopods 创建代码仓库...

  • 发布代码到git,CocoaPods

    Git官网 CocoaPods代码库 安装Ruby环境我这里就不介绍了网上一大把教程。 打开git官网 登录账号 ...

  • CocoaPods高级使用—发布代码

    在github上初始化工程(注意初始化工程名为CocoaPods上显示的名!) 在github上初始化工程 将工程...

  • 如何发布代码到CocoaPods

    如何将自己的代码用pod的方式加入到项目中,步骤如下: 首先在github创建一个项目,clone到本地 创建po...

网友评论

    本文标题:向CocoaPods发布代码

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