从零开始制作自己的podspec
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.mdpush后添加 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相关推荐
- 从零开始制作 NuGet 源代码包(全面支持 .NET Core / .NET Framework / WPF 项目)
默认情况下,我们打包 NuGet 包时,目标项目安装我们的 NuGet 包会引用我们生成的库文件(dll).除此之外,我们也可以专门做 NuGet 工具包,还可以做 NuGet 源代码包.然而做源代码 ...
- WordPress 主题教程:从零开始制作 WordPress 主题
从零开始制作 WordPress 主题其实不难,只要你从现在开始认真阅读这个教程,一步一步认真学习,你就会成为一个 WordPress 主题制作高手.至少你会修改现有主题. 网络上已经有很多关于制作 ...
- 从零开始制作一个飞机大战类型的射击游戏
射击类游戏是极为经典的游戏系列之一,它往往有着精美绚丽的画面,高度有趣的音效,为玩家呈现不一样射击体验,让人流连忘返. 今天,我们用scratch从零开始制作了的一个射击类型的小游戏,适合学习者进行学 ...
- UE4从零开始制作数字孪生道路监测平台
UE4从零开始制作数字孪生道路监测平台 UE4集成Cesium for Unreal和WebSocket,后端使用NodeJs搭建服务器进行数据模拟和真实数据实时转发. 1:新建UE4项目并集成Ces ...
- 从零开始制作人脸表情的数据集
一.背景 人脸表情识别网上已有很多教程,大多基于fer2013数据集展开的.现在的问题就在于fer2013数据集的数量太少,表情的区分度不够明显,大部分基于此数据集的模型,其识别精度仅有70%左右. ...
- 详细介绍如何从零开始制作51单片机控制的智能小车(二)———超声波模块、漫反射光电管、4路红外传感器的介绍和使用
我会通过本系列文章,详细介绍如何从零开始用51单片机去实现智能小车的控制,在本系列的上一篇文章中介绍了如何让小车动起来,本文作为本系列的第二篇文章,主要介绍让小车实现自动避障所涉及的一些传感器, ...
- 从零开始制作 WordPress 主题
从零开始制作 WordPress 主题其实不难,只要你从现在开始认真阅读这个教程,一步一步认真学习,你就会成为一个 WordPress 主题制作高手.至少你会修改现有主题. 网络上已经有很多关于制作 ...
- 【从零开始制作 bt 下载器】一、了解 torrent 文件
[从零开始制作 bt 下载器]一.了解 torrent 文件 写作背景 读取 torrent 文件 认识 bencode 使用 Python 解析 torrent 文件 解密 torrent 文件 结 ...
- 从零开始制作即时战略游戏(0)
"看这个题目,就觉得很傻屌."--某同学 问题1:为什么要从零开始制作即时战略游戏?难道SC/SC2,steam上一大堆还不够玩的? 回答:我就想在iphone/ipad上玩. 问 ...
最新文章
- python那么慢为什么还有人用-为什么Python运算慢还拿来搞AI?这三点大多数都不知道?...
- MSC Apex 2020中文版
- 【Python】Jupyter Notebook这款「骚气满满」的小工具,简直太爱了!
- 模式对话框与非模式对话框的区别2
- 【SPFA】重建道路(jzoj 1212)
- 【Shiro】Unsatisfied dependency expressed through method 'securityManager' parameter 3
- Detected call of `lr_scheduler.step()` before `optimizer.step()`.
- DevOps - 配置管理 - Ansible
- Eclipse Ctrl+Alt+↓ 失效问题解决
- RPC架构简介与原理
- JavaCV人脸识别三部曲之二:训练
- Java远程连接数据库——远程连接MySQL数据库,操作和管理MySQL数据库
- 小猫钓鱼游戏(c++实现)
- 大学生bootstrap框架网页作业成品 bootstrap响应式网页制作模板 学生海贼王动漫bootstrap框架网站作品
- 编译原理:什么是编译程序?
- 能让你脱颖而出的简历应该这么写
- CSS定位布局流和网络请求引入
- 使用spacedesk实现两台笔记本的双屏显示
- 前端动态生成随机图形验证码
- java 素数 五行_c语言动态烟花小程序代码
热门文章
- 最年轻菲尔兹奖得主:我用计算机辅助证明研究“大一统”理论
- 用手机就能实时给图像直线描边,速度不亚于目标检测,在线Demo可玩
- 谷歌重磅开源新技术:5行代码打造无限宽神经网络模型,帮助“打开ML黑匣子”...
- MEET2020 | 嘉宾已确认!李开复、倪光南等AI大咖齐聚,共话人工智能新价值新边界新格局...
- 没想到这家聪明的公司,正在用AIoT让机器对话
- Codeforces round 1083
- 33 个 JavaScript 核心概念系列(三): 显式 (名义) 与 隐式 (鸭子)类型转换
- 如何给localStorage设置一个过期时间?
- python:LEGB标识符解析顺序
- 中科创星投资云游九州,布局时空大数据