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 可以不加,加了最好,如果你的配置文件有警告,那么无法推送成功

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

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

  

cocoapods 创建公开公共库的更多相关文章

  1. Cocoapods 创建自己的公开库、私有库

    如何创建自己的共有库 1.注册Trunk trunk需要CocoaPods 0.33版本以上,用pod --version 命令查看版本 CocoaPods版本 如果版本低,需要升级: sudo ge ...

  2. 创建/发布cocoapods公共库

    对于大多数iOS开发者而言,cocoapods都是一个非常便捷的第三方库引导工具,该工具可以帮助我们快速导入所需第三方库,并且进行相关配置. 本文即为描述如何发布一个第三方库,提供给所有的开发者使用. ...

  3. 利用Cocoapods创建基于SVN的私有库podspec

    由于项目年后要进行组件化,考虑到公司内部实现的一些私有组件,不对外公开,而又想在不同项目中使用,该怎么办呢?由于cocoapods有了强大的功能,可以自己创建podspec,更可以设置私有的库.那么利 ...

  4. 利用cocoapods创建基于git的私有库

    上一篇文章记录了我利用cocoapods创建基于SVN的私有库的全部过程,今天我再记录一下基于git创建的过程. 整体先说明一下创建一个私有的podspec包括如下那么几个步骤: 创建并设置一个私有的 ...

  5. 利用cocoapods创建基于git的私有库Spec Repo

    上一篇文章记录了我利用cocoapods创建基于SVN的私有库的全部过程,今天我再记录一下基于git创建的过程. 整体先说明一下创建一个私有的podspec包括如下那么几个步骤: 创建并设置一个私有的 ...

  6. iOS代码组件化--利用cocoaPods创建私有库

    如果项目模块多,模块间逻辑复杂,我们发现多个人同时维护一个代码仓库需要十分小心,一不小心,造成冲突,解决起来很烦,相信很多人都遇到手工删除合并的冲突的文件的经历. 如果利用组件化思想,每个人维护自己的 ...

  7. 【转】使用Cocoapods创建私有podspec

    Cocoapods是非常好用的一个iOS依赖管理工具,使用它可以方便的管理和更新项目中所使用到的第三方库,以及将自己的项目中的公共组件交由它去管理.Cocoapods的介绍及优点本文就不在赘述,我开始 ...

  8. 使用Cocoapods创建私有podspec

    Cocoapods是非常好用的一个iOS依赖管理工具,使用它可以方便的管理和更新项目中所使用到的第三方库,以及将自己的项目中的公共组件交由它去管理.Cocoapods的介绍及优点本文就不在赘述,我开始 ...

  9. CocoaPods创建私有pods

    由于项目需求,需要把项目的不同模块拆分出来即 组件化 ,一开始想做成多target模式,后来换成私有pods CocoaPods的安装和使用,网上很多,自行搜索即可. 听说可以基于svn创建pod私有 ...

随机推荐

  1. Re.FFT

    前言 上虽然算是学过了但是实质上还是根本什么都不会 看大佬们的模板去A了模题(手动滑稽) 于是下定决心要理解FFT的代码 一些的证明主要是从算法导论和两位大佬的博客上学的 大佬1  大佬2 在这过程中 ...

  2. Java基础 -- 深入理解泛型

    一般的类和方法,只能使用具体的类型:要么是基本类型,要么是自定义的类.如果要编写可以应用于多种类型的代码,这种刻板的限制对代码的束缚就会很大. 而泛型很好的解决了这个问题,这也是Java SE5的重大 ...

  3. 08--STL关联容器(set/multiset)

    一:set/multiset的简介 set是一个集合容器,其中所包含的元素是唯一的,集合中的元素按一定的顺序排列.元素插入过程是按排序规则插入,所以不能指定插入位置. set采用红黑树变体的数据结构实 ...

  4. JS 条形码插件--JsBarcode 在小程序中使用

    在小程序中的使用: utils文件夹下 barcode.js 粘粘以下代码 var CHAR_TILDE = 126 var CODE_FNC1 = 102 var SET_STARTA = 103 ...

  5. Linux学习之用户身份与文件权限

    Linux学习之用户身份与文件权限 1 用户身份及能力 Linux系统的管理员之所以是root,并不是因为其名叫root,而是该用户身份号码数值(UID)为0. 管理员UID为0:系统的管理员用户 系 ...

  6. 【FF14】工匠配方爬取

    目标:爬取最终幻想14工匠配方到excel表格.(一个装修仔的尊严) 代码: from bs4 import BeautifulSoup import urllib.request import xl ...

  7. C# NPOI 操作Excel 案例

    1.加入NPOI 程序集,使用nuget添加程序集 2.引用NPOI程序集 private IWorkbook ExportExcel(PrintQuotationOrderViewModel mod ...

  8. 错误: ‘shared_ptr’ in namespace ‘std’ does not name a type的解决方法。

    这是因为要使用C++11的标准编译,而catkin_make时无法识别出来. 修改方法是在CMakeLists.txt文件里面添加: set(CMAKE_CXX_FLAGS "${CMAKE ...

  9. 论文阅读笔记(七)YOLO

    You Only Look Once: Unified, Real-Time Object Detection Joseph Redmon, CVPR, 2016 1. 之前的目标检测工作将分类器用作 ...

  10. C# - 设计模式目录

    什么是设计模式 设计模式(OOD)是在面向对象编程(Object Oriented Programming,OOP)中针对在以往的编程里出现的问题所提出的一种解决思路.一种设计类型时的思想和经验,对未 ...