CocoaPods(repo是master) 上传自己的项目

2018-08-31  本文已影响16人  莪的世界木有如果

第一步:在GitHub上面创建一个要放置代码的repository。步骤如图:

创建repository

创建完成后,会进入到如下界面:


repository创建完成

接下来就是在如上图的界面打tag,具体操作见图1~2

图1

点击图一中的release,如果没有创建过tag的话,则会出现create new release点击之后出现图二样式

图2

如果不想上github上面打tag的话,可以执行下面的语句

git tag '0.1.0'
git push --tags

这个时候就需要在本地把这个repository库clone下来,建议使用GitHub desktop软件操作。

下面介绍GitHub desktop软件的clone操作:

第二步实现方式一 :

脚本执行完成后,你的项目中就有了xxx.podspec文件了,这个就是pod的配置文件,后续要传到pod上面去识别你的项目的。

在xxx.podspec文件里面,你可以修改几个地方,一个就是支持版本:
s.platform = :ios, "8.0"
一个就是author用户:
s.author={"用户名" => "GitHub账号"}
s.version = "1.0.1"这个根据自己要提交到git上的版本进行变更。这里会遇到比较多的问题。最后会把遇到的一些问题总结下。

这个时候,看文件目录:


image.png

针对第二步所说的步骤,下面介绍一个比较简单点,且目录清晰的步骤。

第二步实现方式二

#
#  Be sure to run `pod spec lint BLAPIManagers.podspec' to ensure this is a
#  valid spec and to remove all comments including this before submitting the spec.
#
#  To learn more about Podspec attributes see http://docs.cocoapods.org/specification.html
#  To see working Podspecs in the CocoaPods repo see https://github.com/CocoaPods/Specs/
#

Pod::Spec.new do |s|

  # ―――  Spec Metadata  ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #
  s.name         = "WebRTCHelper"
  s.version      = "0.0.1"
  s.summary      = "WebRTCHelper."
  s.description  = <<-DESC
                    this is WebRTCHelper
                   DESC
  s.homepage     = "https://github.com/wode0weiyi/WebRTCHelper"
  s.license      = { :type => "MIT", :file => "FILE_LICENSE" }
  s.author             = { "huzhihui" => "wonderfulhzh@163.com" }
  s.platform     = :ios, "8.0"
  s.source       = { :git => "https://github.com/wode0weiyi/WebRTCHelper.git", :tag => s.version.to_s }
  s.source_files  = "WebRTCHelper/*.{h,m}"
  s.requires_arc = true
end

对应的参数说明:

name:传入pod的文件说明
version:传入到pod上的版本,注意这里的版本一定要和git上面版本一致
summary:简单描述
description:详细描述
homepage:前面创建的repository的地址,地址栏里的地址就可
license:凭证,这个在创建repository的时候选择一下就行,见图创建repository
author:发布者的信息,前面一个为用户名,后面一个为GitHub的账号
platform:支持的版本
source:资源信息,第一个引号里面的是repository的HTTPS地址,后面是tag,不用动。
source_files:要传文件的目录
requires_arc :是否支持ARC

这里要重点注意的:

source_files:这里要注意的是这里的路径是以xxx.podspec文件为根据,同级的话,就写文件名就好(一般要传pod的最外层文件夹和xxx.podspec文件是同级的)。往后多级的,逐级加。如果多个的话,就分组加,逗号隔开。下面针对各种情况给出范例:

接下来就是验证xxx.podspec文件的正确性,终端cd 到xxx.podspec所在的文件夹,然后输入

pod psec lint 或者pod spec lint --allow-warnings
验证过程如果顺利的话,则会出现


podspec验证

这里验证会经常出现两个错误:

/Users/Library/Caches/CocoaPods/Pods/External/你要传的项目文件

如图:


image.png

(2)、我现在要放到pod上面的是WebRTCHelper文件,则删除掉图中2处的所有文件,然后在终端输入pod psec lint xxx.podsepc,当然错误还是存在;
(3)、重新验证后这个时候发现图中2处会生成一个文件夹,点开这个文件夹,在里面把你要放到pod上面的文件复制一份放到里面,(例如图中的标3的文件夹)。然后再验证,这个错误就会没有了。当然具体问题还要具体讨论,这个是一个解决方法。

podspec文件里面的version改成自己看到图中的1.0.0就可以了。

注意事项

A文件夹里面代码和xxx.podspec文件验证成功后,需要将所有的改动传到GitHub上面去,避免后面出现错误。
这个操作可以在GitHub desktop软件上操作,步骤为:

git更新

最后一步:验证成功后,接下来就是上传到pods。

在这之前,有一个好习惯就是验证下你现在要传到pod上面的文件名是否存在,比如我测试使用的是TestProject_2,验证方法很简单,就是pod搜索下看有没有即可

pod search TestProject_2

如果搜索到和你文件名一样的,这个时候你就要去改你的xxx.podspec文件里面的name属性了
终端输入:

pod trunk push xxx.podspec

然后等待结果就好,这个过程,网速不好的话会失败。出现:

pod失败

成功后,看到终端输出如图:


pod成功

本篇说的pods公有库上传自己的项目的方式有点复杂,后面重新介绍了另外一种方式上传,相比起来,步骤少了很多,用起来也简单,且不容易出现source_files报错问题。有兴趣的可以点击链接查看在CocoaPods公有库(repo是master)里面添加自己的项目

常见的错误请转到错误分析

这篇说的是将自己的项目开源道pods上面,如果要创建自己的私有库,利用pod怎么去管理呢?请看CocoaPods私有库管理,可以用于组件化,还会说到pod上传项目,文件层级怎么来划分。

上一篇下一篇

猜你喜欢

热点阅读