当前位置: 首页 > news >正文

iOS 开发包管理之CocoaPods

CocoaPods(Objective-C 时期,支持Objective-C和swift),CocoaPods下载第三方库源代码后会将其编译成静态库.a 文件 或动态库框架.framework 文件 的形式,并将它们添加到项目中,建立依赖关系,这种方式会修改Xcode项目属性配置依赖关系。CocoaPods 搭建了一个中心库,第三方库被 收入到该中心库中,没有收录的第三方库是不能使用 CocoaPods 管理的。CocoaPods 发展到现在已经相当成熟了。一般 iOS 项目都会用这个,尤其是老的项目。

安装 Cocoapods

brew install cocoapods

在 iOS 项目目录初始化 cocoapods

 cocoapods-demo % pod init

请添加图片描述
初始化完成后会新生成一个 Podfile 文件,以后依赖都是通过这个文件来管理,刚开始文件的内容如下:

请添加图片描述

添加依赖

在 Podfile 中添加需要的依赖:

# 指定平台为 iOS,其他平台还有 macos 和穿戴类的,后面的版本推荐指定最新的 iOS 版本,这样可以提前预知一些问题platform :ios, '17.5'target 'cocoapods-demo' do# 下面这一行可以xcode 编译出动态库,即.framework文件use_frameworks!# 在这里指定依赖,格式: pod ‘dependencyName’ ,‘version’pod ‘Alamofire’,‘>=5.0'#这种方式是直接引用本地源码的方式pod 'Alamofire', :path => '/Users/juklinglee/Downloads/Alamofire-master'#给单元测试配置依赖target 'cocoapods-demoTests' doinherit! :search_paths# Pods for testingend#给UI单元测试配置依赖target 'cocoapods-demoUITests' do# Pods for testingendend
  • > 1.0 : 任何大于 1.0 的版本
  • >= 1.0 : 任何大于或等于 1.0 的版本
  • < 1.0 : 任何小于 1.0 的版本
  • <= 1.0 : 任何小于或等于 1.0 的版本
  • ~> 1.2.3: 任何在 1.2.3 到 2.0 之间的版本,但不包括 2.0版本

安装依赖

 cocoapods-demo % pod install

在这里插入图片描述
在 Xcode 里看到的项目结构就是下面这样的:
请添加图片描述

打开项目

安装完依赖后,会生成一个.xcworkspace文件,我们要通过这个文件来打开项目,不能再通过.xcodeproj文件来打开项目。

相关文章:

iOS 开发包管理之CocoaPods

CocoaPods&#xff08;Objective-C 时期&#xff0c;支持Objective-C和swift&#xff09;&#xff0c;CocoaPods下载第三方库源代码后会将其编译成静态库.a 文件 或动态库框架.framework 文件 的形式&#xff0c;并将它们添加到项目中&#xff0c;建立依赖关系&#xff0c;这种…...

Windows搭建RTMP视频流服务器

参考了一篇文章&#xff0c;见文末。 博客中nginx下载地址失效&#xff0c;附上一个有效的地址&#xff1a; Index of /download/ 另外&#xff0c;在搭建过程中&#xff0c;遇到的问题总结如下&#xff1a; 1 两个压缩包下载解压并重命名后&#xff0c;需要 将nginx-rtmp…...

VS2019安装MFC组件

VS2019支持的MFC版本是mfc140 ~ mfc142版本&#xff0c;它兼容VS2015、VS2017之前的老版本程序。 一、MFC的历史版本 MFC的历史版本如下&#xff1a; IDE发布时间工具集版本MSC_VERMSVCMFC版本dllVisual C6.01998V601200MSVC6.06.0mfc42.dll、mfcce400.dllVisual Studio 2002…...

Python学习—open函数,json与pickle知识点,Os模块详解

目录 1. Open函数 2.json与pickle模块 json模块 1. json.dumps() 2. json.dump() 3. json.loads() 4. json.load() pickle 模块 1. pickle.dumps() 2. pickle.dump() 3. pickle.loads() 4. pickle.load() 3.Os模块 1. Open函数 在Python中&#xff0c;open() 函数…...

基于SSM的高考志愿选择辅助系统

基于SSM的高考志愿选择辅助系统的设计与实现~ 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringSpringMVCMyBatis工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 前台 前台首页 院校展示 后台 后台首页 学校管理 摘要 随着高考制度的不断完…...

引领小模型潮流!OpenAI发布功能强大且成本低的GPT-4o mini

GPT-4o mini的成本比GPT-3.5 Turbo低了超过60%&#xff0c;其聊天表现优于Google的Gemini Flash和Anthropic的Claude Haiku。该模型从周四开始对ChatGPT的免费用户、ChatGPT Plus用户和团队订阅用户开放&#xff0c;并将在下周向企业用户开放。OpenAI计划未来将图像、视频和音频…...

【考研数学】线代满分经验分享+备考复盘

我一战二战复习都听了李永乐的线代课&#xff0c;二战的时候只听了一遍强化&#xff0c;个人感觉没有很乱&#xff0c;永乐大帝的课逻辑还是很清晰的。 以下是我听向量这一章后根据听课内容和讲义例题总结的部分思维导图&#xff0c;永乐大帝讲课的时候也会特意点到线代前后联…...

Java项目:基于SSM框架实现的海鲜自助餐厅系统【ssm+B/S架构+源码+数据库+毕业论文】

一、项目简介 本项目是一套基于SSM框架实现的海鲜自助餐厅系统 包含&#xff1a;项目源码、数据库脚本等&#xff0c;该项目附带全部源码可作为毕设使用。 项目都经过严格调试&#xff0c;eclipse或者idea 确保可以运行&#xff01; 该系统功能完善、界面美观、操作简单、功能…...

前端面试题日常练-day97 【Less】

题目 希望这些选择题能够帮助您进行前端面试的准备&#xff0c;答案在文末 在Less中&#xff0c;以下哪个功能用于处理文本字间距&#xff1f; a) letter-spacing() b) word-spacing() c) text-spacing() d) space-between() Less中的Variables可以存储哪些类型的值&#xff…...

压缩视频大小的方法 怎么减少视频内存大小 几个简单方法

随着4K、8K高清视频的流行&#xff0c;我们越来越容易遇到视频文件体积过大&#xff0c;导致存储空间不足、传输速度缓慢等问题。视频压缩成为解决这一问题的有效途径&#xff0c;但如何在减小文件大小的同时&#xff0c;保证视频质量不受影响呢&#xff1f;本文将为你揭晓答案…...

JVM:GraalVM

文章目录 一、介绍1、什么是GraalVM&#xff1a;2、GraalVM版本 二、两种使用模式 一、介绍 1、什么是GraalVM&#xff1a; GraalVM是Oracle官方推出的一款高性能JDK&#xff0c;使用它享受比OpenJDK或者OracleJDK更好的性能。GraalVM的官网地址&#xff1a;https://www.graa…...

海外营销推广:快速创建维基百科(wiki)词条-大舍传媒

一、维基百科的永久留存问题 许多企业和个人关心维基百科是否能永久留存。实际上&#xff0c;只要企业和个人的行为没有引起维基百科管理方的反感&#xff0c;词条就可以长期保存。如果有恶意行为或被投诉&#xff0c;维基百科可能会对词条进行删除或修改。 二、创建维基百科…...

【HarmonyOS】HarmonyOS NEXT学习日记:五、交互与状态管理

【HarmonyOS】HarmonyOS NEXT学习日记&#xff1a;五、交互与状态管理 在之前我们已经学习了页面布局相关的知识&#xff0c;绘制静态页面已经问题不大。那么今天来学习一下如何让页面动起来、并且结合所学完成一个代码实例。 交互 如果是为移动端开发应用&#xff0c;那么交…...

处理uniapp刷新后,点击返回按钮跳转到登录页的问题

在使用uniapp的原生返回的按钮时&#xff0c;如果没有刷新会正常返回到对应的页面&#xff0c;如果刷新后会在当前页反复横跳&#xff0c;或者跳转到登录页。那个时候我第一个想法时&#xff1a;使用浏览器的history.back()方法。因为浏览器刷新后还是可以通过右上角的返回按钮…...

工厂方法模式java

文章目录 1. 概念2. 示例3. 代码示例 1. 概念 定义: 工厂方法模式又叫工厂模式,通过定义工厂父类创建对象的公共接口,而子类负责创建具体的对象 作用: 由工厂的子类来决定创建哪一个对象 缺点: 工厂一旦需要生成新的东西就需要修改代码,违背的开放封闭原则 2. 示例 3. 代码示…...

java模拟多ip请求【搬代码】

java模拟多ip请求 package url_demo;import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.URL; import java.net.URLConnection; import java.util.Random;public class HttpUtilTest…...

微软史诗级的蓝屏

本周经历了微软的蓝屏&#xff0c;一直到周末还在加班处理公司的问题。 个人终端受到的影响较大&#xff0c;服务器上也受到了影响。因为蓝屏的事情导致不少麻烦&#xff0c;据同事说因为蓝屏的问题&#xff0c;MGH 的手术安排也受到了影响。 目前我们也在着手处理有部署 Wind…...

HALCON数据结构

一、HALCON数据结构简介 1、HALCON中有两类参数&#xff1a;图形参数和控制参数。 2、HALCON算子参数中&#xff0c;图形输入参数、图形输出参数、控制输入参数和控制输出参数。 3、图形参数有&#xff1a;图像(image)、区域(region)和轮廓(XLD) 4、控制参数有&#xff1a;…...

数据库系统概论:事务与并发一致性问题

随着网络应用的普及&#xff0c;数据库并发问题变得越来越重要。数据库并发指的是多个用户或进程同时访问和操作数据库的能力。它是数据库系统性能优化的重要方面&#xff0c;旨在提高系统的吞吐量和响应时间&#xff0c;以满足多用户同时访问数据库的需求。然而&#xff0c;这…...

Python编程基础:元组类型、字典类型、集合类型

目录 元组类型创建/删除元组访问/操作元组元组生成式字典类型创建/删除字典访问/操作字典字典相关函数集合类型创建/删除集合集合相关操作符访问/操作集合元组类型 元组是Python中内置的不可变序列,这是它跟列表的不同之处,它没有一系列增删改等操作,只可以使用索引和for循环…...

TI AM64x设备树配置踩坑记:从pinctrl节点到SysConfig工具的避坑指南

TI AM64x设备树配置实战&#xff1a;从寄存器解读到SysConfig高效开发 第一次在AM64x平台上配置外设引脚时&#xff0c;我盯着设备树里那行AM64X_IOPAD(0x011c, PIN_OUTPUT, 7)发呆了半小时——这个神秘的十六进制数到底对应哪个物理引脚&#xff1f;最后的数字7又代表什么&…...

从g2o优化框架看TEB算法:手撕局部路径规划的图优化实现

从g2o优化框架看TEB算法&#xff1a;手撕局部路径规划的图优化实现 在机器人导航领域&#xff0c;局部路径规划算法的性能直接决定了机器人在动态环境中的反应速度和避障能力。TEB&#xff08;Timed Elastic Band&#xff09;算法作为ROS生态中广泛采用的解决方案&#xff0c;其…...

除了Cesium和Mapbox,用three-tile+Three.js打造轻量级WebGIS的完整实践

用three-tileThree.js构建轻量级WebGIS的工程实践指南 在Web三维地图开发领域&#xff0c;Cesium和Mapbox长期占据主导地位&#xff0c;但它们"全家桶"式的架构往往成为灵活定制的桎梏。当项目需要精细控制渲染管线、深度集成业务逻辑或追求极致性能时&#xff0c;开…...

LED照明设计必看:TIR透镜在LightTools中的准直与均匀优化技巧

LED照明设计进阶&#xff1a;TIR透镜在LightTools中的高效准直与均匀优化实战 在LED照明设计领域&#xff0c;TIR&#xff08;全内反射&#xff09;透镜因其独特的光学特性已成为高端照明产品的核心组件。与传统的平凸透镜和反光杯相比&#xff0c;TIR透镜能够同时处理小角度和…...

Unity Figma Bridge终极指南:3步实现设计到游戏的完美转换 [特殊字符]

Unity Figma Bridge终极指南&#xff1a;3步实现设计到游戏的完美转换 &#x1f680; 【免费下载链接】UnityFigmaBridge Easily bring your Figma Documents, Components, Assets and Prototypes to Unity 项目地址: https://gitcode.com/gh_mirrors/un/UnityFigmaBridge …...

OpenClaw可视化监控:Qwen3-32B任务执行实时看板搭建

OpenClaw可视化监控&#xff1a;Qwen3-32B任务执行实时看板搭建 1. 为什么需要可视化监控&#xff1f; 去年冬天的一个深夜&#xff0c;我被手机警报惊醒——团队的数据处理流程卡住了。登录服务器后发现&#xff0c;OpenClaw正在处理的某个长文本分析任务已经运行了6小时&am…...

AI语音智能体赋能12345热线,实现政务服务数智化

12345政务服务便民热线作为连接政府与群众的“连心桥”&#xff0c;承载着政策咨询、诉求举报、民生求助等核心职能&#xff0c;是政务服务的重要窗口。但随着民生需求日益多元&#xff0c;传统12345热线逐渐面临话务高峰拥堵、人工座席压力大、响应效率不均、诉求闭环不及时等…...

颈肩痛分急性和慢性,对症缓解才有效

颈肩痛并非单一症状&#xff0c;根据发病时间和诱因&#xff0c;可分为急性颈肩痛和慢性颈肩痛&#xff0c;两者的缓解和治疗方式差异显著&#xff0c;找对方法才能快速摆脱疼痛困扰。急性颈肩痛多由外伤、运动不当、落枕等引起&#xff0c;疼痛剧烈且突然发作&#xff0c;常伴…...

免费领取《MapleSim卷材加工和卷绕系统建模仿真教程》

在薄膜、纸张、电池极片、电子材料等卷对卷加工中&#xff0c;你是否还在为张力波动、卷材打滑、收放卷不稳而头疼&#xff1f;物理样机调试成本高、风险大&#xff0c;单纯依靠经验难以解决复杂的动态耦合问题。 Maplesoft 中国技术团队近期发布了 MapleSim 卷材处理库&#…...

Phi-4-Reasoning-Vision代码实例:TextIteratorStreamer实现思考过程智能分隔

Phi-4-Reasoning-Vision代码实例&#xff1a;TextIteratorStreamer实现思考过程智能分隔 1. 项目概述 Phi-4-Reasoning-Vision是基于微软Phi-4-reasoning-vision-15B多模态大模型开发的高性能推理工具&#xff0c;专为双卡RTX 4090环境优化。该工具严格遵循官方SYSTEM PROMPT…...