cocoapods应该是时下类库比较全面的三方管理工具,使用也特别方便,你只需将别人的类库在你的 podfile中 pod "SomeoneNameLibrary" 就可以在你的工程中使用这个库,作为一个开发者,你是否也想让别人在他的项目中 pod "YourNameLibrary",so,if your answer is yes,continue.

<!--+ 创建你的工程 (这里你有两种方式去创建你的工程)-->

使用cocoapods官方提供的模板创建工程

  • 打开终端,进入你要写代码的目录,输入一下命令

    pod lib create YourNameLibrary
  • 这时候你的终端会出现几个问题

    What language do you want to use?? [ Swift / ObjC ]
    >Swift // 根据你自己使用的语言来输入,注意大小写
    Would you like to include a demo application with your library? [ Yes / No ]
    >Yes // 你是不是要添加一个demo在你的工程里面,也根据你自己来选,带上会比较好
    Which testing frameworks will you use? [ Quick / None ]
    >None // 个人认为这个测试框架没用,选None
    Would you like to do view based testing? [ Yes / No ]
    >No // 依然 No
  • 到此,你已经向成功迈出了一大步,终端会自动执行 pod install 命令,接下来你或许你要等很久,因为 cocoapods 执行 pod install的时候,会自动检测repo是否有更新,你懂得。所以如果你没有这个耐心的话,果断control+Z
  • 进入你的目录,发现你的工程结构如下

    YourNameLibrary
    _Pods.xcodeproj
    Example
    Podfile
    Pods
    YourNameLibrary
    YourNameLibrary.xcodeproj
    Tests
    LICENSE
    YourNameLibrary
    Assets
    Classes
    YourNameLibrary.podspec
    README.md 

    如果之前执行 pod install的时候你按下了 control+Z,现在我们要补救一下,终端进入 Example 目录下

    cd YourNameLibrary/
    cd Example/
    pod install --no-repo-update // 这句命令的意思是跳过更新repo 执行 install

    执行完成之后,在Example下会有一个 YourNameLibrary.xcworkspace 打开它,你会看到这样的画面

    删除 ReplaceMe.swift 文件,把你给别人用的类库文件写在这个目录下面,示例代码写在 ViewController.swift 中,接下来的事情交给你了,编译完成之后,继续continue

上传你的类库到 Github

看到这个标题,千万不要冲动,因为pod是根据Github提供的tag去匹配的,所以如果你不会设置tag值,还是一步一步跟着来

  • 首先在你的Github主页上创建好仓库,并且和你的本地仓库关联,你可以借鉴一下的提交

    git add.
    git commit -m "Initial commit"
    git tag 0.1.0
    git push origin 0.1.0

验证你的 podspec文件

在我们的工程根目录下有这样一个文件 YourNameLibrary.podspec,这是你的类库许可文件,你的类库就是依据这个文件被别人从 Github 上导入到工程里面的,这里只做简单的介绍,如果想进一步了解,请到这里去看

  • 编写 podspec

    Pod::Spec.new do |s|
    s.name             = "YourNameLibrary" #你的类库的名字,
    s.version          = "0.1.0"     #版本号
    s.summary          = "你的类库的简介"  #简介s.description      = "你的类库的具体描述" #这里要注意一点,描述和简介不能一样,而且描述要比简介长才可以通过验证s.homepage         = "https://github.com/<GITHUB>/YourNameLibrary" #你的github主页
    # s.screenshots     = "www.example.com/screenshots_1", "www.example.com/screenshots_2" #这里是截屏文件地址
    s.license          = 'MIT' #许可协议类型,一般就用MIT
    s.author           = { "作者的名字" => "作者的邮箱" }
    s.source           = { :git => "https://github.com/<GITHUB>/YourNameLibrary.git", :tag => s.version.to_s }
    # s.social_media_url = 'https://twitter.com/<TWITTER>'s.ios.deployment_target = '8.0'  #你的类库支持的 iOS版本s.source_files = 'YourNameLibrary/Classes/**/*'
    s.resource_bundles = {
    'YourNameLibrary' => ['YourNameLibrary/Assets/*.png']
    }# s.public_header_files = 'Pod/Classes/**/*.h'
    # s.frameworks = 'UIKit', 'MapKit'   #这是你的类库依赖的框架,一般的项目里都会导入UIKit等常用框架,所以这里不用导入
    # s.dependency 'AFNetworking', '~> 2.3'  #这是你的类库依赖的三方库,如果需要,请写在这里
    end
  • 验证 podspec 文件,终端进入到你的 podspec 目录下,执行这一条命令

    pod lib lint YourNameLibrary.podspec

    如果验证通过了会出现这个,你就可以继续下一步,如果没通过,你要排查错误,知道通过为止

关联cocoapods到你的类库

如果你已经走到这里,告诉我你有一点小激动,此时我要是多说些废话,或者没有下文。。。好的我们continue

  • 如果你没有注册过cocoapods,请自觉先去注册,注册完成之后,执行下面这条命令

    pod trunk push YourNameLibrary.podspec
  • 如果出现终端输出

    Validating podspec-> BlinkingLabel (0.1.0)

恭喜你,That`s all. Thank you. 你可以去意淫了

使用终端建立自己需要工程相关推荐

  1. 建立STM32的工程步骤(版本1)

    建立STM32的工程步骤(版本1):

  2. Qt修炼手册3_VS建立的Qt工程(或项目)生成pro文件

    利用VS2008建立的Qt工程(或项目)要使用Qt Creator开发时,需要生成pro文件.下面介绍该过程. 1.右击工程(不是解决方案)名称,点击Create basic .Pro file 点击 ...

  3. 使用keil建立标准STM32工程模版(图文详细版!)

    1.   模板工程的创建(超级详细版,使用的是keil 4.5版本) 1.1创建工程目录 良好的工程结构能让文件的管理更科学,让开发更容易更方便,希望大家养成良好的习惯,使用具有合理结构的工程目录,当 ...

  4. STM32(一)----建立嵌入式STM32工程

    建立一个STM32工程 前期准备: 版本说明:MDK5.15,如果有更高的版本可使用高版本. 版本号可从 MDK软件的"Help–>About uVision"选项中查询到. ...

  5. 【iOS开发】在一个Xcode页面建立多个工程

    Xcode里面是可以同时存在多个工程的.可以通过存放在同一个工作空间来实现同一个Xcode页面存在多个工程,也就是有多个xcodeproj.如下图所示. 这样不仅可以方便管理几个相似功能的工程,更重要 ...

  6. 沁恒MCU从EVT中提取文件建立MounRiver独立工程

    沁恒的MCU程序开发包简称EVT,是沁恒官方给出的芯片使用参考例程. EVT开发包为了减少体积,将很多工程的文件复用. 当修改一个公用文件(像link.ld,StdPeriphDriver文件夹中的库 ...

  7. 如何在CCS中建立自己的工程

    如何在CCS中建立自己的工程 相信有很多人用了好久的CCS了,却不会建立自己的工程文件,大家要不就是在TI的例程里改,要不就是弄的工程文件路径很复杂,而且有时还会有致命的缺点--不能换路径,也就是说放 ...

  8. 【计算机常识】IDEA如何建立一个Java工程,Java项目、模块、包、类,.idea是什么,out文件是什么

    刚刚开始学习一门编程语言的时候,我们往往是跟着某个老师学习,学习的过程中,可以编译出来,我们就很开心了.但是自己在创立工程的时候,我们会不理解,为啥这样建立啊?为啥工程下面自己创立了模块(就有src了 ...

  9. 建立syslink双核工程和make运行

    建立工程 + j! |; `9 ~8 l  d0 D % I5 C1 A1 _: W) i  这一节将涉及到 ex01_helloworld 这个例程和 GNU make 这个工具,但我们并不会进行源 ...

最新文章

  1. python新手之一环境安装
  2. python中collection.Counter and和的区别
  3. 程序员高薪盛宴背后:程序员正在消失?
  4. 黑科技(next_permutation和prev_permutation)
  5. 日期操作类DateUtils
  6. matlab 指定区域随机游走_了解随机游走模型和移动平均过程(Python)
  7. 如何恢复手机通讯录号码呢?该怎么恢复呢
  8. 学习c/c++的50个好网站(转)
  9. Jenkins pipeline+Maven+Gitlab
  10. 【Grasshopper基础1】怎样制作一个Grasshopper电池 / 二次开发基础
  11. 西工大机考《概率论与数理统计》大作业网考
  12. osgEarth的Rex引擎原理分析(一二二)着色器程序的opengl过程
  13. 线性回归中的交互效应(interaction)
  14. php 读取微信对账单,扣丁学堂PHP培训简述PHP如何实现微信对账单处理
  15. STA之RC Corner
  16. 【07月05日】北上资金持股比例排名
  17. cym : BaseQuickAdapter.setOnItemChildClickListener失效点击没反应
  18. PlatformIO使用Arduino[Ticker]库(ESP8266)
  19. ai技术对计算机的影响,人工智能技术的发展会对我们产生什么影响
  20. ubuntu20.04安装微信和QQ,腾讯会议,以及一些其他实用软件

热门文章

  1. VS.NET 学习方法论
  2. 使用C++实现一套简单的状态机模型——原理解析
  3. 提高C++性能的编程技术笔记:标准模板库+测试代码
  4. 【linux】串口编程(三)——错误处理
  5. 十三水牌型 图片_鬼灭之刃:鳄鱼揭开十三型的秘密,缘一亲自演示
  6. 5单个编译总会编译全部_玩转Android10(五)源码编译开发中常用命令
  7. python语音合成 标贝_tacotronV2 + wavernn 实现中文语音合成(Tensorflow + pytorch)
  8. jedis使用_网易架构师心得:Springboot下使用redis踩过的坑
  9. 进制转换 位运算(包括补码、原码、反码、~0等一些零碎东西一次说清)
  10. 服务器日志显示乱码,CentosOS 6.5 服务器 控制台输出中文乱码,日志打印中文也乱码...