参考链接:

https://blog.csdn.net/boring_cat/article/details/73187997

https://www.jianshu.com/p/4685af9dd219

//--------正文-------

一、

cd 到你的工程目录下

使用pod spec create创建.podspec文件

二、

2.1

Pod::Spec.new do |你定义的字段|,如:

Pod::Spec.new do |spec|

Pod::Spec.new do |s|

就是用 spec /s  替代Spec.new的功能;

2.2 详细表

  1. spec.name = ‘Reachability’     #项目名称
  2. spec.version = ‘3.1.0’               #项目版本号(更新Pod的时候,这里要对应的修改,不修改会更新不到)
  3. spec.summary = ‘A short description of 你的项目.’  #项目总结,其实就是一个简单的短描述 ;
  4. spec.description      = <<-DESC      # 项目详细描述,描述的文字要多于总结的 否则会报警
  5. spec.license = { :type => ‘MIT’ } #项目的证书  一开始就要在git 配置好
  6. spec.homepage = ‘https://github.com/tonymillion/Reachability’ #项目的主页 要求可以访问
  7. spec.authors = { ‘你的大名’ => ‘你的邮箱@163.com’ } #作者以及邮箱
  8. spec.source = { :git => ‘https://github.com/tonymillion/Reachability.git‘, :tag => ‘v3.1.0’ } #项目的源代码路径 tag是标签 如果没有写明tag,则默认版本号 。注意:项目的源地址,目前只支持Http\Https, 不支持SSH,其他可见示例。
  9. spec.module_name = ‘Rich’ #项目模块名称
  10. spec.ios.deployment_target = ‘9.0’ #iOS最低支持系统版本 
    spec.osx.deployment_target = ‘10.10’ #OSX最低支持系统版本
  11. s.static_framework = true #是否是静态库
  12. spec.ios.framework = ‘UIKit’ 
    spec.osx.framework = ‘AppKit’

13.项目下自己创建一个 include文件夹(如果项目生成的时候就有那就不用创建了,没有就自己建一个),里面需要的文件类型你要写明

  • s.subspec 'include' do |ss|   ​​​​​​​# 包含文件

    • ss.source_files = ‘项目名/common/*.swift’ #代码所在的路径,写错 lint会报错
    • spec.ios.source_files = ‘项目名/ios/.swift’, ‘项目/extensions/.swift’ #依赖的资源文件,依赖多个用逗号隔开
    • spec.osx.source_files = ‘项目名/osx/*.swift’
    • ss.private_header_files = '项目名/include/*.h'  # 头文件
  • end

14. 项目下自己创建一个 Classes 文件夹(如果项目生成的时候就有那就不用创建了,没有就自己建一个),里面包含的文件类型需要你写明

  • s.subspec 'Classes' do |ss|#
  • ss.dependency '项目名/include' #依赖的第三方框架,依赖几个,就要写几个s.dependency
  • ss.source_files = '项目名/Classes/*.{h,m}' # 包含工程.h .m的文件
  • ss.public_header_files = '项目名/Classes/EMASOCR.h' #包含头文件
  • ss.vendored_frameworks = '项目名/Framework/框架名或第三方框架名.framework'#依赖的框架,依赖多个用逗号隔开
  • end

15.

  • spec.dependency ‘SomeOtherPod1’ #依赖的第三方框架,依赖几个,就要写几个s.dependency
  • spec.dependency ‘SomeOtherPod2’
  • spec.dependency ‘SomeOtherPod3’

16.

  • spec.frameworks = 'AVFoundation', 'CoreMedia', 'AudioToolbox', 'UIKit' # 同12,引用的类库,引用多个逗号隔开

17.

  • s.libraries = 'iconv.2.4.0', 'xml2', 'c++' #引用的lib库,如 libc++.tbd 等

end

三、 示例:

Pod::Spec.new do |s|
s.name             = "PodLibrary"
s.version          = "0.1.0"
#项目总结
s.summary          = "My PodLibrary is a repo for UIButton+Positioning assembly."
#项目描述,貌似描述的文字要多于总结的,否则会报警告
s.description      = <<-DESC
My Private UIButton+Positioning assembly
* MarkDown format
* It is a nice world!DESC
#项目的主页,要求可以访问
s.homepage         = "https://git.coding.net"
#项目的证书类型,一开始在git 就要配置好
s.license          = 'MIT'
s.author           = { "gaolong" => "gaolong@alibaba.com" }
#最重要的一部分,项目的源地址,目前只支持Http\Https, 不支持SSH,小编曾经犯了一个低级错误,将这个source指向了以前建立的一个Spec.git,然后一直报"The `PodLibrary.podspec` specification does not validate"的错误,小编又不会调试,所以很丢人的折腾了两个小时。
s.source           = { :git => "https://git.coding.net/schiller/MyDemoSpec.git", :tag => "0.1.0" }
s.platform     = :ios, '7.0'
s.requires_arc = true
#表示项目的源文件在Pods/Classes文件夹下
s.source_files = 'Pod/Classes/**/*'
s.resource_bundles = {
'PodLibrary' => ['Pod/Assets/*.png']
}#项目的依赖库等等
# s.public_header_files = 'Pod/Classes/**/*.h'
# s.frameworks = 'UIKit', 'MapKit'
# s.dependency 'AFNetworking', '~> 2.3'
end

四、项目文件配置完毕之后

cd 到你的工程目录下  使用以下命令验证(注意一定要有网,不是你们公司内网哟)

$ pod lib lint 

如果出现

-> PodLibrary (0.1.0)
PodLibrary passesd validation

说明成功了!

五、 进阶:

  • 配置私有组件项目
  • 向Spec Repo提交podspec
  • Cocoapods制作

参考链接:https://www.jianshu.com/p/d20467788c02

这篇文章说的很细致了,建议小伙伴们多看几遍;

iOS cocoapods的使用规范说明及示例(.podspec配置文件)相关推荐

  1. ios html gif 显示,iOS中gif图的显示方法示例

    iOS中gif图的显示方法示例 发布时间:2020-09-19 06:15:42 来源:脚本之家 阅读:86 作者:蓝光95 一.前言 iOS开发中,大部分时候我们显示一张静态图就可以了,但是有的时候 ...

  2. iOS项目的命名规范

    一.关于本文档 1.本文档的书写目的     <iOS项目的命名规范>的书写目的,在于让后续参加到该项目的iOS开发人员通过阅读该文档,了解在当前iOS项目的代码中的命名要求并严格按照本文 ...

  3. ios开发之 icon规范+启动图规范+启动页规范

    作为一名开发人员,有时候碰上美工有事外出,那么偶尔就得顶下美工的岗位,切切图.今天就简单的说一下. 手机以(iPhone 4s-iPhone 6P)为主,若有新产品,会及时更新内容. 1.先说说App ...

  4. Hadoop大数据--Mapreduce编程规范及入门示例

    Mapreduce是一个分布式的运算编程框架,核心功能是将用户编写的核心逻辑代码分布式地运行在一个集群的很多服务器上. Mapreduce的存在价值 (1)海量数据在单机上处理因为硬件资源限制,无法胜 ...

  5. iOS CocoaPods安装和使用图解

    Cocoapods安装步骤 1.升级Ruby环境 sudo gem update --system 如果Ruby没有安装,请参考 如何在Mac OS X上安装 Ruby运行环境 2.安装CocoaPo ...

  6. 一、IOS CocoaPods详细使用方法

    自从有了CocoaPods以后,这些繁杂的工作就不再需要我们亲力亲为了,只需要我们做好少量的配置工作,CocoaPods会为我们做好一切 一.什么是cocoapods 1.为什么需要cocoapods ...

  7. iOS CocoaPods 详解

    每种语言发展到一个阶段,就会出现相应的依赖管理工具,例如 Java 语言的 Maven,nodejs 的 npm.随着 iOS 开发者的增多,业界也出现了为 iOS 程序提供依赖管理的工具,它的名字叫 ...

  8. VC++, VC#, VB.NET 编码规范 (微软一站式示例代码库)

    vb.net教程https://www.xin3721.com/eschool/vbnetxin3721/ 经过三个月的不懈努力和反复检查,我们项目组终于完成了一份80页的VC++, VC#, VB. ...

  9. iOS CocoaPods第三方库加载本地文件或服务器上的zip文件(二)

    本篇文章重点介绍,如何加载zip文件压缩包第三方库.如果伙伴们想了解如何加载本地文件请自行翻看上篇文件. 方案: 不废话,直接上代码!编辑我们的WechatOpenSDK.podspec文件: Pod ...

  10. iOS CocoaPods安装教程

    前言介绍 在iOS项目中使用第三方类库可以说是非常常见的事,但是要正确地配置他们有时候是非常繁琐的事情,幸运的是CocoaPods是一个很好的解决方案. 什么是CocoaPods CocoaPods是 ...

最新文章

  1. C++实现大数的四则运算
  2. flutter_webview_plugin 无法加载网页的异常处理
  3. 百度无线用户体验部2011年招聘计划
  4. 创建一个提供数据 API 的 Node.js 网站
  5. mybatis14--注解的配置
  6. 并查集杭电1272小希的迷宫
  7. idea打断点启动项目后debug红点内没有√,导致无法调试
  8. 3分钟搞懂LSI原理
  9. 【转】智能音箱技术概览
  10. [密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第27篇]什么是对称密码加密的AEAD安全定义?
  11. Hadoop 系列之 1.0 和2.0 架构
  12. C++ 基类私有成员会被继承吗
  13. 博客园里写blog可以添加自己的js文件
  14. 支持向量机(Vladimir Vapnik)
  15. virtual box linux 安装增强功能,在linux系统中安装virtualbox增强功能(增强包)的详细步骤...
  16. 安卓监听是否有闹钟设置
  17. 【Python】详解 collections.Counter
  18. IE和Firefox浏览器下javascript、CSS兼容性研究
  19. 做服务器销售两个月还没开单,1月15日的销售欠款,2月20日做的收款单,为什么没有...
  20. sigma-delta_Delta调试-简化失败的测试用例

热门文章

  1. Aria2 基础配置及下载设置
  2. 安装和客户端证书颁发---puppet系列
  3. 我是如何在自学编程9个月后找到工作的
  4. 图片裁剪上传插件——jquery.photoClip.js
  5. java 基础知识九 类与对象
  6. 【emWin】例程十:bmp图片显示
  7. One to One 的数据库模型设计与NHibernate配置
  8. android中的通信机制总结
  9. Spring Boot 定时任务,怎么实现任务动态增删启停?
  10. 求求你们了,别再写满屏的 if/ else 了!