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

做的项目多了,通过CocoaPods使用第三方库的次数就越多。例如AFNetworking,SDAutoLayout,MJRefresh,SDWebImage等等。于是很好奇这些代码是怎么上传到CocoaPods的呢?

一、在Github上面新建一个项目
关于这个,有篇博客写得很详细,这步也不困难,大家可以点击参考链接,跟着里面的第一第二步实现,其他内容有兴趣的可以看看。

二、新建一个项目的podspec文件
这步是最容易出问题的,也是最核心的地方。我采用的是最笨的方法。

首先使用终端cd到步骤一的仓库文件夹,例如下图是我通过步骤一生成的文件夹

WeChat_1458539292.jpeg

然后通过vim DFTextStyle来生成一个文本(名字改成你们的项目名),然后修改文件的后缀为podspec。

如下图所示,其中的LICENSE和README.md文件是通过步骤一生成的,DFTextStyle.h和.m文件是我放进去想让别人pod得到的

WeChat_1458539538.jpeg

然后使用SublimeText软件打开你的podspec文件来进行修改,这里需要注意!!!如果使用自带的文本编辑器去修改,检验的时候会报以下的格式错误,这里花了我不少时间去解决。

WeChat_1458539905.jpeg

我的pod spec文件内容如下

Pod::Spec.new do |s|
s.name = 'DFTextStyle'
s.version = '1.0.2'
s.license = 'MIT'
s.summary = 'A Text in iOS.'
s.homepage = 'https://github.com/954788/DFTextStyle'
s.authors = { '954788' => '569676974@qq.com' }
s.source = { :git => "https://github.com/954788/DFTextStyle.git", :tag => "1.0.2"}
s.requires_arc = true
s.ios.deployment_target = '8.0'
s.source_files = "DFTextStyle", "*.{h,m}"
end

大家可以把这部分内容拷贝进去,然后根据实际情况去作修改。

s.name 是你的项目名
s.version 是你项目的版本号
s.summary 是简单的描述
s.homepage 是你这个项目的Github地址
s.authors 是作者和邮箱
s.source 是下面这个HTTPS地址

WeChat_1458540608.jpeg

注意!!!如果后面的tag描述不对,会出现以下警告,只需把tag对上你在podspec文件里面填的版本号就可以了。

WeChat_1458540731.jpeg

s.requires_arc 是否要求arc
s.ios.deployment_target 最低要求的系统版本
s.source_files 你项目文件名和里面的内容
注意!!!这里描述不当会出现以下报错

WeChat_1458540933.jpeg

我尝试过多种写法,最后只有这种写法没有报错,当然也归功于这个demo项目里面文件不多。当你的项目文件复杂时,需要用另一种表述方式,这里告诉大家一个小tips,你pod到本地的第三方库都会有podspec文件的,打开看看参考学习吧。

当然还有更多的描述方式,大家可以通过pod spec create DFTextStyle这个命令生成官方的pod spec文件查看(文件名换成你们的项目名),也可以上官网查看。

三、上传代码到CocoaPods

来到这一步,意味着所需的文件都有了:LICENSE、README.md、你的项目代码、podspec文件,就可以执行这步了。

这里使用Trunk的方式,详细教程点击参考链接,里面说的很详细,需要注意的是,教程里面的2.1我们在上一步已经实现了。

还有这个教程中的git tag '1.0.0'需填写你在podspec文件里面的项目版本号

然后跟着教程去检验和提交代码就可以了,中途会遇到的问题已在上面列出,大家操作过程中遇到新的问题可以在下方留言

四、通过Pod下载代码到项目中

来到这步,就是检验我们努力成果的时候了。

cd到需要引入这个代码的项目,通过vim生成Podfile文件,填写你的项目名,这里以我的demo为例

WeChat_1458541631.jpeg

然后使用pod install就可以了。

最后在项目中使用那些方法就大功告成了!

同样的,这篇文章是为了满足我好奇心和起到抛砖引玉的作用,对这方面感兴趣的可以去查阅更多的资料,尝试不同的玩法,实在是乐趣多多。

感兴趣的朋友可以在下方留言分享你的经验或想法。

转载于:https://my.oschina.net/ospost90s/blog/644772

IOS上传代码到CocoaPods并通过Pod下载相关推荐

  1. iOS Android 上传代码库+持续集成+单元测试

    背景 本文将介绍如何把iOS & Android项目分别上传到CocoaPods和Jitpack,并用Travis CI做持续集成,codecov做代码单元测试覆盖率的报告展示. 上传代码 创 ...

  2. iOS开发:GitHub上传代码错误提示fatal: Authentication failed for 'https://gitee.com/XXX/XXX.git/‘的解决方法

    上传代码到Git上面,有时候会遇到各种情况,有些时候是因为合并代码冲突,有些时候是因为修改了Git的登录密码需要重新认证.那么这里就来讲解错误提示fatal: Authentication faile ...

  3. iOS上传视频到服务器

    iOS上传视频到服务器 这里介绍用AFN上传本地拍摄的视频到服务端 //视频转换为MP4//转码操作..._hud.mode = MBProgressHUDModeIndeterminate;_hud ...

  4. ftp ios 上传文件到服务器上,ios通过ftp上传文件到服务器

    ios通过ftp上传文件到服务器 内容精选 换一换 华为云帮助中心,为用户提供产品简介.价格说明.购买指南.用户指南.API参考.最佳实践.常见问题.视频帮助等技术文档,帮助您快速上手使用华为云服务. ...

  5. github客户端怎样上传代码 mac

    github客户端上传代码 mac 注意事项 字数633 阅读84 评论1 喜欢3 1.注册一个github账号在官网.https://github.com/github 2.下载mac版的githu ...

  6. iOS上传相簿视频模糊

    iOS上传相簿视频模糊 在上传相簿视频文件时,选择系统相簿里面的视频,系统会自动跳入下一页进行视频"压缩". 实际上这个过程是将其他类型的视频,比如.MP4转码成了.MOV视频文件 ...

  7. github自己的仓库给别人上传代码的操作

    点击自己工程上面的Setting 接着点击 Collaborators 中间会有一个登陆操作 输入对面的账号 点击Add collaborator , 最后也就是最关键的一步就是 复制链接给对方,让他 ...

  8. 使用git上传代码到github

    1.      github上创建项目 github是一个服务器托管商,我们写好的代码可以上传到github上面去 登录github的官方网站:http://github.com/ 注册一个自己的用户 ...

  9. asp.net实现ftp上传代码(解决大文件上传问题)

    asp.net实现ftp上传代码(解决大文件上传问题) 参考文章: (1)asp.net实现ftp上传代码(解决大文件上传问题) (2)https://www.cnblogs.com/LYunF/ar ...

最新文章

  1. 60岁有30万资金,如何存款最安全?
  2. LeetCode 1122. 数组的相对排序
  3. 什么是面向对象_什么是面向对象?新手程序员必掌握的技能
  4. [BZOJ2879] [Noi2012] 美食节 (费用流 动态加边)
  5. 对 React 组件进行单元测试(unit testing)
  6. mybatis与hibernate不同(重要)
  7. 腾讯云cos上传文件
  8. coreldraw做生化标志_CorelDRAW标志绘制图文教程,logo设计制作教程
  9. 【ReID】EANet: Enhancing Alignment for Cross-Domain Person Re-identification
  10. 央视揭秘“微商传销”:通过朋友圈炫富发展下线
  11. Cocos Creator 3.61所有工具软件的使用
  12. BUUCTF·[MRCTF2020]天干地支+甲子·WP
  13. 台式计算机打字标准手法,怎样才能练好标准的打字方法?电脑键盘打字指法教学...
  14. Android获取的MP3音乐的专辑封面图片
  15. 为什么 JS 对象内部属性遍历的顺序乱了
  16. oc中写c语言的方法,OC语言description步骤和sel
  17. 科骏达导航端口测试软件,全网最全的导航端口波特率汇总
  18. 【DS1302可调时钟】
  19. 物流与供应链管理一样吗?
  20. 计算机评课用语不足与建议,评课用语不足与建议 [听课评语优缺点]

热门文章

  1. 【转载】Yield,迭代器,生成器
  2. Python time和datatime模块
  3. 大道至简——失败也是积累
  4. 抽象工厂模式-与-工厂方法模式区别
  5. RedHat 系列 Linux 安装后,建立嵌入式开发环境
  6. Caffe2——cifar10数据集创建lmdb或leveldb类型的数据
  7. Makefile 中:= ?= += =的区别
  8. SAD立体匹配算法在opencv中的实现
  9. Iocomp控件教程之Pie Chart——饼状图控件
  10. 【云栖大会】阿里云成为全国首家云等保试点示范平台