前言:

现在的社会讲究的是套路,作为一名iOS工程师, 一言不合我要发套路了!

一、Ruby(ruby环境已经安装了的朋友可以跳过这一点)

  • 准备:
  1. Mac OSX
  2. 安装xcode,它会帮你安装好 Unix 需要的开发包 (相信开发iOS你没的选)
  • RVM 安装
  1. $ curl -L https://get.rvm.io | bash -s stable
  2. $ source ~/.rvm/scripts/rvm     //可能要你mac的密码,要等待
  3. $ rvm -v                                         //检查一下是否安装正确 ,如果出现类似下面的代码说明安装正确
  4. rvm 1.22.17 (stable) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]
  • Ruby 环境安装/配置
  1. $rvm list known                                         //列出已知的ruby版本
  2. $rvm install 2.2.4                                          //安装2.2.4版本,必须是list known中能查到的
    看到这段文字的时候,你需要敲击一个  ”Enter“ 键,或者把你想安装的路径复制进去
    About to install Homebrew, press `Enter` for default installation in `/usr/local`,
    type new path if you wish custom Homebrew installation (the path needs to be writable for user) 这段文字也得敲击一个 “Enter” 键,return 键 和 Enter 键是同一个按键
    Press RETURN to continue or any other key to abort 最后停止在password时,需要键入你电脑的密码
  3. $rvm 2.2.4 --default                                      //设置默认的ruby版本
  4. $ruby -v                                                    //查看ruby是否安装成功  出现类似代码说明ruby安装成功
  5. ruby 2.2p247 (2013-06-27 revision 41674) [x86_64-darwin13.0.0]
  6. //补充代码,咋错了能重来
    查询已经安装的ruby
    $ rvm list 卸载一个已安装版本
    $ rvm remove 1.9.2 gem版本查询
    gem -v
  7. 因国内的的墙太厚!所以小伙伴们还是得替换一下ruby源
  8.  //移除ruby原生源
    $gem source -r https://rubygems.org/ //添加淘宝源
    $gem source -a https://ruby.taobao.org //查看是否替换成功
    $gem sources -l   

二、Cocoapods 的安装和日常使用

  • $ sudo gem install cocoapods //安装Cocoapods
  • Cocoapods的日常用法
  • cd 你想要添加pod的xcode根目录(工程文件的父目录)
    touch Podfile //创建Podfile文件
    vim Podfile //编辑Podfile文件 这里拿我发布的一个库来举例,复制下面的代码到你的Podfile中
    source 'https://github.com/CocoaPods/Specs.git'
    platform :ios, '8.0'
    use_frameworks! //如果是OC的不用加这句
    pod "YHHeadScrollView", "~> 1.0.2" 现在按esc 退出编辑 :wq 保存退出Podfile文件
    pod install //开始安装改工程的pod
    等待一会安装好之后,回到工程的目录中发现多了一个.xcworkspace文件,以后就用这个pod的工程文件来管理项目
     

三、Cocoapods的发布

  • 注册trurk
  • pod trunk register EMAIL [NAME]
    //例如
    pod trunk register developer_yh@163.com 'developeryh' --verbose //登录的你注册邮箱,激活
    //激活成功后,可以查看已激活的信息
    pod trunk me
  • 创建/编辑podSpec文件

  1. cd 到工程目录下
  2. 工程文件的命名最好末尾加上Demo,这样就可以在工程文件的路径下建一个不带Demo的文件夹,把发布的库文件放在里面pod spec create [你想发布库的名字]
    • 例如: pod spec create YHHeadScrollView
    • 执行命令后发现工程目录下多了一个 YHHeadScrollView.podspec文件(这些只是基础配置,当你的库比较复杂时,你可能需要更多的配置)
    • 还有一点你需要特别注意的!(作者我在这个坑里呆了好几个小时5555555).手动修改双引号内的内容会导致双引号变掉,需要重新从其他地方复制一个双引号过来才行!重要的事说三遍!改为记得复制双引号
    • Pod::Spec.new do |s|
      #库名字
      s.name = "YHHeadScrollView"
      #版本号,应该是要跟xcode版本一致,不一致是什么情况我也没试过,知道的可以留言回复我~
      s.version = "1.0.2"
      #简介
      s.summary = "ScollImageView with animation and once show three"
      #描述
      s.description = <<-DESC
      ScollImageView with animation and once show three,
      you can use it to make a cool headScroll
      DESC
      #你的库在github的首页(不会Git的可以看我的另一个博客:http://www.cnblogs.com/devyh/p/5345880.html)
      s.homepage = "https://github.com/developeryh/YHHeadScrollView"
      #LICENSE 这种写法最好要添加一个LICENSE文件在工程文件目录下,代码如下个代码段所提示,你可以把名字改成自己的^^
      s.license = { :type => 'MIT', :file => 'LICENSE' }
      #作者和邮箱
      s.author = { "developeryh" => "developer_yh@163.com" }
      #iOS支持的邮箱
      s.platform = :ios, "8.0"
      # 这里的git 必须要选择https的方式,SSH的不支持 这里 s.version 就是上面的版本号
      s.source = { :git => "https://github.com/developeryh/YHHeadScrollView.git", :tag => "#{s.version}" }
      #你的库文件路径 用“,”来分割路径。如果是只有一个路径可只填一个,如果是一个路径下有两种或两种以上的文件类型,如swift,h,m 可以这样写/*{swift,h,m}
      s.source_files = "YHHeadScrollView/*.swift", "YHHeadScrollViewDemo/*.h"
      #支持ARC
      s.requires_arc = true
      #s.xcconfig = { "HEADER_SEARCH_PATHS" => "$(PODS_ROOT)/**" }
      #你的库中用到的三方库
      s.dependency "Kingfisher", "~> 2.4"
      end
    • LICENSE 文件内容
    • The MIT License (MIT)
      
      Copyright (c) 2016 You Hui
      
      Permission is hereby granted, free of charge, to any person obtaining a copy
      of this software and associated documentation files (the "Software"), to deal
      in the Software without restriction, including without limitation the rights
      to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
      copies of the Software, and to permit persons to whom the Software is
      furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all
      copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
      IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
      FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
      AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
      LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
      OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
      SOFTWARE.
  • README
  1. 是不是看到GitHub上面的README都是类似这样子的?

    • 而自己的往往是这样子的~

00:05:17~~~好困今晚先更新到这里~,明天继续

套路!从Ruby 到 Cocoapods的发布的更多相关文章

  1. Mac 下安装ruby,以及CocoaPods安装以及使用网摘

    ruby安装网址:https://ruby-china.org/wiki/install_ruby_guide CocoaPods安装和使用教程地址:http://code4app.com/artic ...

  2. Mac OS10.11更新ruby,gem,安装cocoapods

    1.装cocoapods,ruby版本忒低->开始更新ruby->开始更新gem,这是一条不归路啊同志们,各种permission denied,各种路径不存在,各种路径没有读写权限,各种 ...

  3. 如何发布自己的开源框架到CocoaPods【转】

    在开发过程中,经常会使用到第三框架,我们通过一个pod install命令,很方便的就将第三方框架加到我们自己的项目中. 如果我们也想将自己写的组件或库开源出去,让别人也可以通过pod install ...

  4. iOS工具】rvm、Ruby环境和CocoaPods安装使用及相关报错问题解决

    〇.前言 <p>在iOS开发中 CocoaPods作为库依赖管理工具就是一把利器. 有了 CocoaPods则无需再通过拖 第三方库及第三方库所依赖的 framework静态库到项目中等麻 ...

  5. 让自己写的项目支持Cocoapods管理

    学会使用别人的 Pods 依赖库以后, 你一定对创建自己的依赖库很有兴趣吧,现在我们一起来制作自己的Pods依赖库. 1.创建自己的 github 仓库 上图中标识出了6处地方 Repository ...

  6. Cocoa包管理器之CocoaPods详解

    CocoaPods在Cocoa开发日常工作中经常用到的包管理器,即依赖管理工具.有的项目也有用Carthage的,Carthage是一个比较新的依赖管理工具,是使用Swift语言开发的.Carthag ...

  7. 【转】CocoaPods的使用教程

    转载自:https://www.jianshu.com/p/dfe970588f95 前言 前几天发布我的开源库<最简单方便的iOS轮播开源库:JYCarousel>到CocoaPods的 ...

  8. 最新的 CocoaPods 的使用教程(一)

    发布开源库到CocoaPods的时候.对CocoaPods重新学习了一下. 1.CocoaPods的日常使用 2.创建CocoaPods的私有库 3.创建CocoaPods的开源库 一. CocoaP ...

  9. CocoaPods iOS 开源库管理

    1.CocoaPods 简介 1.1 CocoaPods CocoaPods 是 macOS 和 iOS 下的一个第三类库管理工具,通过 CocoaPods 工具我们可以为项目添加被称为 " ...

随机推荐

  1. Selenium2+python自动化15-select下拉框

    前言 最近由于工作原因,更新慢了一点,今天终于抽出一点时间给大家继续更新selenium系列,学习的脚本不能停止,希望小伙伴能多多支持. 本篇以百度设置下拉选项框为案例,详细介绍select下拉框相关 ...

  2. C# 从excel里面复制的1万6千多条记录粘贴到FCKeditor里面,点保存的时候,保存不了,页面没有反应

    客户那边添加公告,是直接从excel里面复制的,有1万6千多条记录,excel文件有6M多. 编辑器用的FCKeditor,也能粘贴上,就是点保存的时候,执行了一段时间就没有反映了,保存不了. 想着可 ...

  3. 【随笔】内存 & I/O检测相关

    缺页中断 缺页中断属于内部中断,也就是异常.细分的话属于异常中的故障. 在执行一条指令时,如果发现他要访问的页没有在内存中(存在位为0),那么停止该指令的执行,并产生一个页不存在异常,对应的故障处理程 ...

  4. 剑指offer题目61-67

    面试题61:把二叉树打印成多行 public class Solution { public ArrayList<ArrayList<Integer> > Print(Tree ...

  5. 洛谷P2014 选课 (树形dp)

    10月1日更新.题目:在大学里每个学生,为了达到一定的学分,必须从很多课程里选择一些课程来学习,在课程里有些课程必须在某些课程之前学习,如高等数学总是在其它课程之前学习.现在有N门功课,每门课有个学分 ...

  6. C#中不同的线程对控件的更改

    .net 不允许跨线程个性其它线程创建的控件. 要想实现这个功能就需要用 InvokeRequired 检查是不是由该线程创建的控件,如果是直接操作,如果不是则 用Invoke 添加一个委托再加上参数 ...

  7. PRISM ‘VS100COMNTOOLS’ not set. Cannot set the build environment

    prism 注册dll,出现以上错误 在系统环境变量,增加 VS100COMNTOOLS 设置路径C:\Program Files (x86)\Microsoft Visual Studio 11.0 ...

  8. 理解em,rem以及rem的失效问题

    在平常做网站写代码的时候一般都是使用px,在之前的学习时就略微的学习了一些关于em.rem的知识,但是由于一直没有用到过,所以几乎全部忘记了.今天在研究一些知识的时候用到了em,所以特意将学到的知识总 ...

  9. DBHelper

    DBHelper: using System; using System.Collections.Generic; using System.Linq; using System.Text; usin ...

  10. Nginx + tornado + supervisor部署

    参考链接:supervisor + Tornado + Nginx 使用详解, 用tornado ,Supervisord ,nginx架网站, tornado官方文档 项目文档树: . ├── ch ...