cocoapods 创建公开公共库

1 :首先安装了 pod,sourceTree(下载地址https://pan.baidu.com/s/1c1Wc5ck), 并在开元中国申请的 git 账号

2 :打开终端: cd 文件目录地址(任意文件夹,也可以是桌面)

3 :在终端中输入命令行:pod lib create 项目名称        // 这里是从官方下载模板下载的地址在你cd 的文件加下

4 : 之后会提示出输入一些信息

   What is your email?

   > 这里输入你开元中国的邮箱账号

  What language do you want to use?? [ Swift / 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 ]

   >  这里输入你需要用到的测试框架,随意选

  Would you like to do view based testing? [ Yes / No ]

   > 是否做基于视图的测试 Yes/No 都可以

  What is your class prefix?

   > 输入前缀 例如:lyj

  回车之后在我们cd 的目录下面会帮我们创建好一个 xcode 模板

5: 在 Example 文件下会有一个 供我们测试使用的 demo 打开 .xcworkspace文件(如果我们的 cocoapods 安装的有问题那么不会生成这个文件,但是会有一个Podfile文件,我们在终端中输入命令行:cd Example 的文件目录 ,再次输入命令行:pod install, 之后会帮我们生成一个 .xcworkspace文件,这里需要关闭原来打开的 demo 文件入后使用 工程名.xcworkspace 打开)

6: 配置信息,在 demo 工程中有一个 Podspec Metadata 文件夹,查看里面的白文件: 工程名. podspec  配置里面的信息,这里我对每行做了注释说明,说明配置信息的作用

清除掉里面的说明注释会得到下面的内容

Pod::Spec.new do |s|

  s.name             = 'MyTestSecondLibrary' # 这里是工程的名称

  s.version          = '0.1.0' # 这里是公共库的版很号

  s.summary          = 'A short description of MyTestSecondLibrary.'  # 这里对你写的库进行简要的概述一下 

  s.description      = <<-DESC  # 下面可以输入你可以的具体使用方法,使用方法写在  <<-DESC 这里写库的使用方法  DESC

          TODO: Add long description of the pod here.

                       DESC

 

  s.homepage         = 'https://github.com/***...' # 你库的地址,可以在开元中国创建你的库,不需要使用什么初始化方法,不要勾选 readme 会生成一个地址输入到这里

  # s.screenshots     = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2'  # 屏幕快照的地址,例如演示的 gif 文件

  s.license          = { :type => 'MIT', :file => 'LICENSE' }  # 这里不需要改变,使用默认

  s.author           = { '发布人名称(可以是昵称)' => '开元中国的邮箱' } # 这里需要输入发布者的昵称,以及你要发布的网站的账号,如果在开元中国申请的 git 账号,这里输入你申请时的邮箱 

  s.source           = { :git => 'git 账号邮箱', :tag => s.version } # 这里输入邮箱如果你在开元中国申请的 git 账号,那么把你在开元中国创建的项目的 https 网址输入到这里,

  # s.social_media_url = 'https://twitter.com/<TWITTER_USERNAME>' # 这里可以不用管

 

  s.ios.deployment_target = '8.0' # iOS 支持的级别,这里最低8.0,(xcode 升级的8后最低也就是8.0,以后升到9再说)

 

  s.source_files = 'MyTestSecondLibrary/Classes/**/*' # 你库文件存放的目录位置,这里通过文件 项目名.xcodeworkspace 打开 xcode,如今打了 pods -> Development Pods -> 工程名 -> 工程名 -> Classes 在 Classes 这个文件夹下我们存放我们创建的类文件(.h,.m文件)

  

   s.resource_bundles = { # 这里存放的 bundle 文件的例如,

     '工程名称' => ['工程名称/Assets/*.png']  # 这里放的 png 图片的资源文件,如果还想使用  storyboard,xib,imageset 文件的话,可以如下面的方法写

  # '工程名称' => ['工程名称/Assets/*.{png,xib,storyboard,imageset}'] 

     # 如果我们使用 xib , storyboard , 图片等资源的时候文件必须强制性放到 Assets 文件夹下,这个文件夹在初始化的时候,并没有显示在工程中,不过可以通过 show in Finder classes 文件查看,发现里面有一个同级别的文件夹 Assets , 我们把我们创建的资源文件拖入到这个文件夹下,然后重新在终端中输入命令行: cd .../Example,然后pod install 再次查看会发现 Assets 文件夹与 classes 同时存在 

   }

  # s.public_header_files = 'Pod/Classes/**/*.h' 

  s.frameworks = 'UIKit', 'MapKit'  # 这里输入需要用到的依赖库,如果没有特别的需要可以不用输入注释掉

  # s.dependency 'AFNetworking', '~> 2.3'  # 如果你的公共库需要依赖其他库,那么打开这里的注释,例如AFNetworking如事例,

 s.dependency 'AFNetworking'

 s.dependency 'SDWebImage' # 如果需要多个依赖库一次往下写入

end

7: 在开元中国创建我们的远程库,输入项目名称,项目描述,选择开发语言,我们做的是公开库,这里选择公开, 我们不要初始化这个工程,因为我们的工程是从本地上传上去,所以三个初始化方式都不要勾选,然后点击创建,完成我们远程库的创建

8: 然后获取我们远程项目库的 https 地址,在第6步配置 s.name, s.source, 这里输入我们在开元中国创建的远程库的 https 网址

9: 在终端中: 输入命令行:

  $ cd 工程文件夹(Example 的上衣层级)

  $ git add *

  $ git commit -s -m "这里输入提交描述"

  $ git remote add origin "你工程远程仓库的地址,也就是你在开元中国创建的项目 https 网址"    # 推送到远程仓库

10: 校验我们第6步的配置信息

  $ pod lib lint --allow-warnings

  如果:工程名 passed validation.那么没有问题

11: 添加信任

  $ pod trunk register git账号(邮箱) '名称' --description='描述内容随意写'    #  git账号邮箱,是你在开元中国申请的 git 账号,'名称',可以是你的账号昵称,也可以是你的真是名称,也可以不写, descrition='',这里可以随意填写也可以不写

  $ pod trunk register git账号(邮箱)   # 简化版本

  如果出现

  Please verify the session by clicking the link in the verification email that has been sent to 6*******4@qq.com

  去你自己的邮箱拷贝发送的网络连接并打开,出现

  You can go back to your terminal now.

  说明验证成功,以后你这台设备,以及这个账号就不要再次验证了,如果你有多个账号,这个方法也是在告诉你的 git 推送你的库到哪个个 账号上去

  $ pod trunk me # 在终端中验证信息是否通过

      - Name:     名称

      - Email:     git 账号

      - Since:    February 7th, 07:41

      - Pods:

      - MyLibraryYaJun

      - MySecondLibrary

      - PodTestLYJ

      - MyTestLibraryLYJ

  如果出现上面的信息验证通过(这里只需验证一次就可以了,以后不需要再验证)

12: 把我们配置好的工程目录(Example 的上一层级)拖到 sourceTree. 添加我们的 git 账号,设置推送地址,如果 https地址无法推送,说没有权限,我们使用 SSH 地址提交并推送到的远端

13: 推送版本号,这里必须先推送项目,之后推送版本号,顺序不能错

  $ git tag "0.1.0"   # 这里设置你要推送的版本号,用于版本管理,把修改的内容推送的哪个个版本,但是版本必须存在

  $ git push --tags    # 推送版本号

14: 所有配置完成后

  把我们创建好的工程推送到 git

    $ pod trunk push 工程名.podspec --allow-warnings   # --allow-warnings 可以不加,加了最好,如果你的配置文件有警告,那么无法推送成功

  这时候需要等一会,有时候快,有时候慢,碰运气了

------------------------------------------------------------------------------------------

   ?  Congrats

 

   ?  工程名 (0.1.0) successfully published

   ?  March 22nd, 01:58

   ?  https://cocoapods.org/pods/工程名

   ?  Tell your friends!

------------------------------------------------------------------------------------------

  如果出现上述的内容恭喜你一个公开的公共库创建成功你可以在其他项目中通过 pod install 的方法获取到这个库了

 

 

 

 

 

错误处理:

错误一:

Validating podspec

 -> LYJProgressHud (0.1.0)

    - WARN  | summary: The summary is not meaningful.

    - WARN  | description: The description is shorter than the summary.

    - WARN  | url: The URL (https://github.com/li625317534/LYJProgressHud) is not reachable.

    - ERROR | [iOS] unknown: Encountered an unknown error ([!] /usr/bin/git clone https://git.oschina.net/6253175234/LYJHudProgress.git /var/folders/_5/t75f_zzj59jb_bw_2zz_v6vc0000gn/T/d20170322-7435-19ko8c1 --template= --single-branch --depth 1 --branch 0.1.0

 

这里错误是因为第6不得配置文件中的 s.name 配置不对,进入你在 oschina 中创建的工程页面,获取该工程所在的网址的地址

 

错误2

Validating podspec

 -> LYJProgressHud (0.1.0)

    - WARN  | summary: The summary is not meaningful.

    - WARN  | description: The description is shorter than the summary.

 

[!] There was an error pushing a new version to trunk: getaddrinfo: nodename nor servname provided, or not known

liyajundeMacBook-Pro:LYJProgressHud liyajun$ pod add *

[!] Unknown command: `add`

Did you mean: try?

 

这里错误的原因是你没有执行提交版本号的方法,直接推送到 git

 

错误3 

如果使用 pod install 无法找到你发布的公共库,那么使用 pod update 尝试,pod update 的作用是更新本地库

 

错误4

[!] Unable to accept duplicate entry for: 工程名 (0.1.0)

需要我们更改版本号,例如更改 LYJDateService.podspec 白文件中的版本号 0.1.1,然后终端中重新提交版本信息也就是第13步的操作,最后执行第14步操作

 

转载于:https://www.cnblogs.com/li625317534/p/6599825.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值