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. Educational Codeforces Round 63 (Rated for Div. 2) B. Game with Telephone Numbers 博弈思维+模拟+贪心思维

    题意:博弈题面  给出一个数字序列 (>=11)  有两个人任意删除数字 直到 数字只剩下11位 如果删除后的数字串开头是8那么就是第一个赢 否则就是第二个人赢 第一个人先手  数字序列一定是奇 ...

  2. Django_ORM操作 - 查询

    ORM 操作 必知必会13条 <1> all(): 查询所有结果 <2> filter(**kwargs): 它包含了与所给筛选条件相匹配的对象 <3> get(* ...

  3. yk-随记

    $config = Loader::loadConfig('smarty');

  4. luoguP3598 Koishi Loves Number Theory

    题目 题解 等比数列,最后统一除以(x-1)(这里数据都存在逆元....) (不存在逆元可以考虑表示成:x*p^y的pair形式,最后上下把p的次数相减(类似扩展Lucas)) 求:lcm(x^(ai ...

  5. 洛谷P3327 约数个数和 结论+莫比乌斯反演

    原题 就是让你求\(\sum\limits_{i=1}\sum\limits_{j=1}d(ij)\)(其中\(d(x)\)表示\(x\)的因数个数) 首先有引理(然而并没有证明): \(d(ij)= ...

  6. ansible Templates

    Files和templates files和templates均用于ansible文件处理,两者的主要区别是:Files目录下的文件无需写绝对路径即可将文件传输到远程主机,templates目录下文件 ...

  7. 从线性模型(linear model)衍生出的机器学习分类器(classifier)

    1. 线性模型简介 0x1:线性模型的现实意义 在一个理想的连续世界中,任何非线性的东西都可以被线性的东西来拟合(参考Taylor Expansion公式),所以理论上线性模型可以模拟物理世界中的绝大 ...

  8. LinkedBlockingQueue阻塞队列详解

    主要api java.util.concurrent包下的新类.LinkedBlockingQueue就是其中之一,是一个阻塞的线程安全的队列,底层采用链表实现.        LinkedBlock ...

  9. 在没联网环境下,启动tomcat出错

    使用SSH框架,在联网情况下,项目可以正常运行,当一旦断网,则启动服务器报错: org.hibernate.HibernateException: Could not parse configurat ...

  10. 【bzoj 4833】[Lydsy1704月赛]最小公倍佩尔数

    Description 令 $(1+\sqrt 2)^n=e(n)+\sqrt 2\cdot f(n)$ ,其中 $e(n),f(n)$ 都是整数,显然有 $(1-\sqrt 2)^n=e(n)-\s ...