2019独角兽企业重金招聘Python工程师标准>>>



前言:CocoaPods相关资料

Commands:

+ repo       Manage spec-repositories

+ search     Searches for pods

+ setup      Setup the CocoaPods environment

+ spec       Manage pod specs

+ trunk      Interact with the CocoaPods API (e.g. publishing new specs)

+ try        Try a Pod!

+ update     Update outdated project dependencies and create new

    • CocoaPods/Specs

    • CocoaPods Guides

    • $ pod

  • + cache      Manipulate the CocoaPods cache

  • + init       Generate a Podfile for the current directory.

  • + install    Install project dependencies to Podfile.lock versions

  • + ipc        Inter-process communication

  • + lib        Develop pods

  • + list       List pods

  • + outdated   Show outdated project dependencies

  • + plugins    Show available CocoaPods plugins

  • Podfile.lock

  • Options:

  • --silent     Show nothing

  • --version    Show the version of the tool

  • --verbose    Show more debugging information

  • --no-ansi    Show output without ANSI codes

  • --help       Show help banner of specified command

创建CocoaPods核心步骤:

  • 上传资源到github

  • 创建、编辑pos spec文件

  • 验证pod spec并提交到Specs

一、上传资源到github

$ git tag -a 1.1.1 -m ’Tag release 1.1.1‘

$ git push --tags

添加成功

Counting objects: 1, done.

Writing objects: 100% (1/1), 163 bytes | 0 bytes/s, done.

Total 1 (delta 0), reused 0 (delta 0)

To https://github.com/c6357/YUKit.git

* [new tag]         1.1.1 -> 1.1.1

二、创建编辑pos spec文件

    • 这里以YUKit为例

    • 官方推荐资源目录模板如下

    •  

      $ tree MyLib -L 2

      MyLib
       ├── .travis.yml
       ├── _Pods.xcproject
       ├── Example
       │   ├── MyLib
       │   ├── MyLib.xcodeproj
       │   ├── MyLib.xcworkspace
       │   ├── Podfile
       │   ├── Podfile.lock
       │   ├── Pods
       │   └── Tests
       ├── LICENSE
       ├── MyLib.podspec
       ├── Pod
       │   ├── Assets
       │   └── Classes
       │     └── RemoveMe.[swift/m]
       └── README.md

    • push后添加 tag ( 这里的tag 后面pod spec 文件 version 会用到)

  • pod spec create

 $pod spec create [NAME|https://github.com/USER/REPO]
 e.g.  $ pod spec create YUKit https://github.com/c6357/YUKit

本地会生成一个YUKit.podspec文件

  • 2.编辑 pod spec文件

YUKit.podspec

如何编写请参考官方文档Specification 或者参考网上优秀pod spec 文件

三、验证pod spec并提交到Specs

  • 本地验证

    • $ cd ~/.cocoapods/repos/REPO_NAME
    • $ pod lib lint (验证)
    • $ pod lib lint --verbose(验证--并显示详细信息)
    • $ pod lib lint --allow-warning(验证--忽略警告)
    • YUKit passed validation.

  • 注册trunk

    • $ pod trunk register orta@cocoapods.org 'Orta Therox' --description='macbook air'
    • $ pod trunk add-owner YUkit kyle@cocoapods.org(还可以添加其他小伙伴)
    • $ pod trunk me //查看自己的注册信息

- Name:     Orta Therox

- Email:    orta@cocoapods.org

- Since:    January 6th, 21:41

- Pods:

- YUKit

- Sessions:

- January 6th, 21:41 -         Unverified. IP: XXXXX

- January 6th, 21:42 -    May 13th, 21:42. IP: XXXXX

- January 6th, 21:44 - August 20th, 00:56. IP: XXXXX

- January 7th, 08:35 -    May 14th, 09:20. IP: XXXXX

Updating spec repo `master`

Validating podspec

Updating spec repo `master`

CocoaPods 1.0.0.beta.6 is available.

  • 提交到远端(有警告要选最后一个)

    • $ pod trunk push YUKit.podspe
    • $ pod trunk push YUKit.podspe --verbose
    • $ pod trunk push YUKit.podspe --allow-warning

四、使用

pod'YUKit', '~> 1.1.6'

$pod search yukit

YUKit for iOS.(objective-c 、c++)

pod 'YUKit', '~> 1.1.6'

- Homepage: https://github.com/c6357/YUKit

- Source:   https://github.com/c6357/YUKit.git

- Versions: 1.1.6, 1.0.4, 1.0.0, 0.0.9 [master repo]

- Subspecs:

- YUKit/header (1.1.6)

- YUKit/foundation (1.1.6)

- YUKit/foundation/lib (1.1.6)

- YUKit/foundation/category (1.1.6)

- YUKit/uikit (1.1.6)

- YUKit/uikit/lib (1.1.6)

- YUKit/uikit/category (1.1.6)

- YUKit/services (1.1.6)

- YUKit/services/NSJson (1.1.6)

- YUKit/services/Reachability (1.1.6)

- YUKit/base (1.1.6)

- YUKit/base/NavigationController (1.1.6)

- YUKit/base/ViewController (1.1.6)

- YUKit/base/TableView (1.1.6)

- YUKit/base/View (1.1.6)     - YUKit/base/ViewModel (1.1.6)

YUKit代码地址

使用示例YUKitExample

创建私有的请查阅官方文档

转载于:https://my.oschina.net/u/868062/blog/659470

从零开始制作自己的podspec相关推荐

  1. 从零开始制作 NuGet 源代码包(全面支持 .NET Core / .NET Framework / WPF 项目)

    默认情况下,我们打包 NuGet 包时,目标项目安装我们的 NuGet 包会引用我们生成的库文件(dll).除此之外,我们也可以专门做 NuGet 工具包,还可以做 NuGet 源代码包.然而做源代码 ...

  2. WordPress 主题教程:从零开始制作 WordPress 主题

    从零开始制作 WordPress 主题其实不难,只要你从现在开始认真阅读这个教程,一步一步认真学习,你就会成为一个 WordPress 主题制作高手.至少你会修改现有主题. 网络上已经有很多关于制作 ...

  3. 从零开始制作一个飞机大战类型的射击游戏

    射击类游戏是极为经典的游戏系列之一,它往往有着精美绚丽的画面,高度有趣的音效,为玩家呈现不一样射击体验,让人流连忘返. 今天,我们用scratch从零开始制作了的一个射击类型的小游戏,适合学习者进行学 ...

  4. UE4从零开始制作数字孪生道路监测平台

    UE4从零开始制作数字孪生道路监测平台 UE4集成Cesium for Unreal和WebSocket,后端使用NodeJs搭建服务器进行数据模拟和真实数据实时转发. 1:新建UE4项目并集成Ces ...

  5. 从零开始制作人脸表情的数据集

    一.背景 人脸表情识别网上已有很多教程,大多基于fer2013数据集展开的.现在的问题就在于fer2013数据集的数量太少,表情的区分度不够明显,大部分基于此数据集的模型,其识别精度仅有70%左右. ...

  6. 详细介绍如何从零开始制作51单片机控制的智能小车(二)———超声波模块、漫反射光电管、4路红外传感器的介绍和使用

       我会通过本系列文章,详细介绍如何从零开始用51单片机去实现智能小车的控制,在本系列的上一篇文章中介绍了如何让小车动起来,本文作为本系列的第二篇文章,主要介绍让小车实现自动避障所涉及的一些传感器, ...

  7. 从零开始制作 WordPress 主题

    从零开始制作 WordPress 主题其实不难,只要你从现在开始认真阅读这个教程,一步一步认真学习,你就会成为一个 WordPress 主题制作高手.至少你会修改现有主题.  网络上已经有很多关于制作 ...

  8. 【从零开始制作 bt 下载器】一、了解 torrent 文件

    [从零开始制作 bt 下载器]一.了解 torrent 文件 写作背景 读取 torrent 文件 认识 bencode 使用 Python 解析 torrent 文件 解密 torrent 文件 结 ...

  9. 从零开始制作即时战略游戏(0)

    "看这个题目,就觉得很傻屌."--某同学 问题1:为什么要从零开始制作即时战略游戏?难道SC/SC2,steam上一大堆还不够玩的? 回答:我就想在iphone/ipad上玩. 问 ...

最新文章

  1. python那么慢为什么还有人用-为什么Python运算慢还拿来搞AI?这三点大多数都不知道?...
  2. MSC Apex 2020中文版
  3. 【Python】Jupyter Notebook这款「骚气满满」的小工具,简直太爱了!
  4. 模式对话框与非模式对话框的区别2
  5. 【SPFA】重建道路(jzoj 1212)
  6. 【Shiro】Unsatisfied dependency expressed through method 'securityManager' parameter 3
  7. Detected call of `lr_scheduler.step()` before `optimizer.step()`.
  8. DevOps - 配置管理 - Ansible
  9. Eclipse Ctrl+Alt+↓ 失效问题解决
  10. RPC架构简介与原理
  11. JavaCV人脸识别三部曲之二:训练
  12. Java远程连接数据库——远程连接MySQL数据库,操作和管理MySQL数据库
  13. 小猫钓鱼游戏(c++实现)
  14. 大学生bootstrap框架网页作业成品 bootstrap响应式网页制作模板 学生海贼王动漫bootstrap框架网站作品
  15. 编译原理:什么是编译程序?
  16. 能让你脱颖而出的简历应该这么写
  17. CSS定位布局流和网络请求引入
  18. 使用spacedesk实现两台笔记本的双屏显示
  19. 前端动态生成随机图形验证码
  20. java 素数 五行_c语言动态烟花小程序代码

热门文章

  1. 最年轻菲尔兹奖得主:我用计算机辅助证明研究“大一统”理论
  2. 用手机就能实时给图像直线描边,速度不亚于目标检测,在线Demo可玩
  3. 谷歌重磅开源新技术:5行代码打造无限宽神经网络模型,帮助“打开ML黑匣子”...
  4. MEET2020 | 嘉宾已确认!李开复、倪光南等AI大咖齐聚,共话人工智能新价值新边界新格局...
  5. 没想到这家聪明的公司,正在用AIoT让机器对话
  6. Codeforces round 1083
  7. 33 个 JavaScript 核心概念系列(三): 显式 (名义) 与 隐式 (鸭子)类型转换
  8. 如何给localStorage设置一个过期时间?
  9. python:LEGB标识符解析顺序
  10. 中科创星投资云游九州,布局时空大数据