在项目开发过程中我们不可避免的使用到第三方开发库,这篇文章主要讲解了一款类库管理工具CocoaPods,下面就为大家分析一下CocoaPods的一种文件格式语法Podspec。

简介

Podspec规范的描述了一个pod库的版本,它包括有关应从何处获取源、要使用什么文件、应用的构建设置以及其他一般元数据(如其名称、版本和描述)的详细信息。

A specification describes a version of Pod library. It includes details about where the source should be fetched from, what files to use, the build settings to apply, and other general metadata such as its name, version, and description.

Podfile最基本的用法

在iOS项目下运行pod init会生成如下文件,相信iOS开发的童鞋对他非常熟悉了,就不在过多的介绍

# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'# 添加网络库
pod 'AFNetworking', '~> 3.2.1'target 'Demo' do# Uncomment the next line if you're using Swift or would like to use dynamic frameworks# use_frameworks!# Pods for Demoend
复制代码

小技巧:如果想要搜索某个库,可以使用pod search,例如:pod search AFNetworking

Podspec语法

1、如何创建Podspec文件

pod spec create

pod spec create [NAME|https://github.com/USER/REPO]

在当前工作目录中创建一个名为PodSpec的PodSpec NAME.podspec。如果传递了GitHub网址,则预先填充规范。

2、根的规范,常用的

Pod的名称,定义该库的名称,例如:

s.name = 'AFNetworking' 等等

3、不常用

libraries,用户目标(应用程序)需要链接的系统库列表,注意是需要连接的系统库列表, 例如在库中引入了其他库文件,但是其他库文件又需要某些系统的库,这时我们就需要这种方式引入(这个地方在开发Flutter iOS库文件时坑了我整整快一天了各种第三方库引用,然后又各种问题)

s.libraries = 'xml2', 'z', 'sqlite3', 'c++'

frameworks,用户目标需要链接的系统框架列表,注意是需要链接的系统框架列表

s.frameworks = 'QuartzCore', 'CoreData', 'MobileCoreServices', 'CFNetwork', 'CoreGraphics'

dependency, 对其他Pod或“子规范”的依赖性。依赖关系可以指定版本要求。~>建议使用乐观版本指示器,因为它可以很好地控制版本,而不会过于严格。例如, ~> 1.0.1相当于>= 1.0.1结合使用< 1.1。同样, ~> 1.0将匹配1.0,1.0.1,1.1,但不会升级到2.0。

s.dependency 'MBProgressHUD', '~> 0.5'

vendored_frameworks, 随Pod一起提供的框架捆绑包的路径

s.vendored_frameworks = 'A.framework', 'B.framework'

上述3、不常用的就是就是今天遇到的坑

更多其他功能请详见:guides.cocoapods.org/syntax/pods…

Flutter插件开发《Podspec语法整理》相关推荐

  1. Markdown语法整理(详细版)

    Markdown语法整理 目录 文章目录 1 概述 1.1 Markdown 1.2 Typora 2 标题和目录 2.1 标题 2.2 目录 3 段落和文本 3.1 缩进.对齐 3.3 斜体.粗体 ...

  2. 数据库语法整理及WAF绕过方式

    数据库语法整理及WAF绕过方式 原文链接请点击:https://www.cnblogs.com/ruoli-s/p/15355611.html 关系型数据库 关系型数据库:指采用了关系模型来组织数据的 ...

  3. 考研语法整理(简洁版)

    考研语法整理(简洁版) 1简单句     1.1简单句的核心         1.1.1简单句的核心构成                 (1)主+谓                      主语+ ...

  4. scss 基本语法整理

    scss 基本语法整理 scss 基本使用 Variables 变量 嵌套 Nesting 普通嵌套 调用父选择器 属性嵌套 混合 Mixins 基本使用 携带参数 继承 extend 导入 impo ...

  5. velocity模板引擎-vm语法整理

    velocity模板引擎-vm语法整理 模板引擎我目前接触过两次, 第一次是在前后端还未分离时,考虑到部分页面数据比较固定,一定时间内不会变动,这样每次从后台加载数据渲染页面明显会消耗性能以及资源浪费 ...

  6. 前端ES6的语法整理

    前端ES6的语法整理 这个东东出很久了,一直没时间完整的学习整理一下. 加上现在前端的更新又特别的快,新的前端框架的东西,都需要用这个语法了,不然很多东西甚至就开始看不懂了. 2022-05-15 小 ...

  7. Python数据处理相关语法整理

    Python数据处理相关语法整理 简介 Python自身特性总结 编程Tips 拿到新电脑配环境时做的事: 一些加速python代码的技巧 Python项目代码结构 量化策略指标计算 绝对收益率 最大 ...

  8. Flutter 遇到的问题整理

    Flutter 遇到的问题整理 1. Provisioning profile "iOS Team Provisioning Profile: x x x x" doesn't i ...

  9. jQuery插件之【jqGrid】常用语法整理-【更新】

    jqGrid常用语法整理,包含数据获取.常用函数.触发事件等 jqGrid表格数据获取相关语法 获取表格所有数据  $("#grid").jqGrid("getRowDa ...

最新文章

  1. Silverlight 2.0 RTW 正式版发布(附下载地址)!
  2. ubuntu14.04配置java jdk
  3. LeetCode题组:第26题-删除排序数组中的重复项
  4. python的scrapy爬虫模块间进行传参_Python | Scrapy 爬虫过程问题解决(持续更新...)...
  5. SQL优化 · 经典案例 · 索引篇
  6. <<蜂鸟计划>>观后感
  7. NOIP2017普及组翻车记
  8. Centos用户和用户组管理
  9. tsql是mysql中的吗_Mysql中的sql是如何执行的
  10. 总结CSS3新特性(媒体查询篇)
  11. “Mvc.ExceptionHandling.AbpExceptionFilter – Processing of the LINQ expression ‘xxx’ by ‘NavigationEx
  12. mariadb 集群mysql_负载均衡的mariadb集群搭建
  13. 天黑时间跟经度还是纬度有关_经纬度和时间气候
  14. PHP弹窗回送,AJAX 服务器回送数据失败 onreadystatechange没法触发回调函数
  15. xp此计算机无法连接到,WinXP打印机共享无法连接如何解决?
  16. misc类设备驱动1——板载蜂鸣器驱动测试
  17. C语言中的类型限定符有哪些?
  18. 在GitHub中搜索的技巧
  19. 【图像处理 -1图像恢复】非线性过滤器修复图像
  20. 02简单数值特征的技巧

热门文章

  1. antd动态隐藏表格中的一列_有很多excel表格,如何快速合并到一张表格里?
  2. pthread 立即停止线程_pthread线程的终止退出 | 线程的大量创建
  3. 在vue组件中使用vuex的state状态对象的5种方式
  4. 两个或者多个图片上下之间有空隙
  5. zkui - Zookeeper的Web UI界面 windows环境
  6. leaflet加载离线地图教程以及下载离线地图瓦片工具
  7. Caffe2:添加CUDA路径
  8. 关于java.net.URLEncoder.encode编码问题
  9. 微软更懂“怎样尊重程序员”,正在改进程序员招聘流程
  10. redis desktop manager 连接外网redis服务器