攻城利器 —— Carthage简单介绍

简介: 01 Carthage简单介绍     主页:https://github.com/Carthage/Carthage.git     作者:Justin Spahr-Summers等     版本:0.18     目标:用最简单的方式来管理Cocoa第三方框架     性质:第三方框架管理工具(类似于cocoapods) Carthage为用户管理第三方框架和依赖,但不会自动修改项目文件和生成配置,把对项目结构和设置的控制权交给用户。

01 Carthage简单介绍

    主页:https://github.com/Carthage/Carthage.git

    作者:Justin Spahr-Summers等

    版本:0.18

    目标:用最简单的方式来管理Cocoa第三方框架

    性质:第三方框架管理工具(类似于cocoapods) Carthage为用户管理第三方框架和依赖,但不会自动修改项目文件和生成配置,把对项目结构和设置的控制权交给用户。

    原理:自动将第三方框架编程为Dynamic framework(动态库)

    限制:仅支持iOS8+。它只支持框架,所以不能用来针对iOS8以前的系统版本进行开发

 

02 Carthage和cocoapods

    1)使用了CocoaPods的项目是高度集成的,而Carthage更灵活强调尽可能将任务委托给Xcode和Git。

        "CocoaPods在使用中会自动创建和更新workspace、依赖和Pod项目并进行整合;

        "Carthage在使用中不需要创建和集成相应的workspace和project,只需要依赖打包好的framework文件即可。

        "总结一下,CocoaPods的方法更容易使用,而Carthage更灵活且对项目没有侵入性。

    2)CocoaPods相对来说功能要比Carthage多很多,因此也更复杂,而CocoaPods配置简单项目干净。

    3)CocoaPods有一个中心仓库,而Carthage是去中心化的,没有中心服务器也就避免了可能因中心节点错误而带来的失败,即Carthage每次配置和更新环境,只会去更新具体的库,时间更快。

    4)想让自己的第三方库支持Carthage比让其支持CocoaPods更加的简单。

 

    5)Carthage的不足

        ① 库依然不如 CocoaPods 丰富

        ② 仅支持iOS8+

        ③ 工具尚且不如cocoapods晚上(已经发布了app)

        ④ 在使用第三方库的过程中无法查看源码

 

03 Carthage的安装和使用

    1)直接下载Carthage.pkg安装包,安装运行

    2)如果使用的XCode为7.0+版本,那么也可以使用下面的方法来安装

     〇 安装homebrew

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

     ① 升级brew

$ brew update

     ② 使用brew来安装

$ brew install Carthage

     

    ③ 查看版本

   $ Carthage version

 

04 Carthage的使用

    1)先进入到项目所在文件夹

 $ cd 项目路径

    2)创建一个空的Carthage文件

$ touch Cartfile

    3)编辑cartfile文件,例如要安装AFN框架

        git "https://github.com/AFNetworking/AFNetworking.git"

    4)保存并关闭cartfile文件,使用cartfile安装框架

$ Carthage update --platform iOS

   

 5)打开Carthage 查看生产的文件目录

$ open Carthage

       

  文件目录说明:

            "|| Carthage/Checkouts目录:从github获取的源代码

            "|| Carthage/Build目录:编译出来的Framework二进制代码库

    6) 配置项目

        打开项目,点击Target -> Build Phases -> Link Library with Libraries选择Carthage/Build目录中要导入的framework

    7)添加编译的脚本(该脚本文件保证在提交归档时会对相关文件和dSYMs进行复制)

        (1)点击Build Phases,点击“+” ->  New Run Script Phase

    

        (2)添加添加脚本   /usr/local/bin/Carthage copy-frameworks

        (3)添加"Input Files"  $(SRCROOT)/Carthage/Build/iOS/AFNetworking.framework

    

    8)在项目中使用第三方库 #import <AFNetworking/AFNetworking.h>

 

    其它:

        卸载Carthage:$ brew uninstall Carthage

        更新第三方框架:

            更新多个框架:修改Cartfile文件,并重新执行 $ Carthage update 

            更新某个框架:$ Carthage update 具体的框架名称

 

05 Carthage的工作过程说明

    ① 创建一个Cartfile文件,在该文件中列出您想使用的框架

    ② 运行Carthage,获取并编译Cartfile文件中列出的框架

    ③ 把框架的二进制文件配置到项目中

目录
相关文章
差异基因分析:fold change(差异倍数), P-value(差异的显著性)
差异基因分析:fold change(差异倍数), P-value(差异的显著性)
3797 0
差异基因分析:fold change(差异倍数), P-value(差异的显著性)
|
C++ 开发者 编译器
C/C++经典面试50题(挑重点整理)下
重点整理了C/C++经典面试题
22535 0
|
6月前
|
Python
灵码回复消息的字体太小,并在pycharm中没法设置.Baidu Comate就可以直接插件中设置了
在使用灵码回复消息时,字体过小且在PyCharm中无法调整。而Baidu Comate插件则可以在插件设置中直接修改字体大小,提供更好的阅读体验。
398 78
|
6月前
|
弹性计算 运维 自然语言处理
Copilot测评报告------终端智能化
作为一名后端开发工程师,我日常需要进行云资源的运维和管理。2025年初,我尝试了阿里云推出的OS Copilot,这款基于大模型的操作系统智能助手支持Alinux、CentOS、Ubuntu等系统,具备自然语言问答、辅助命令执行、系统运维调优等功能。安装过程简单流畅,通过简单的配置即可使用。Copilot不仅能处理复杂指令,还能解释管道命令,极大提升了Linux系统的使用效率。尤其在agent模式下,智能化程度更高,显著减轻了工程师的工作负担。总的来说,Copilot的表现令人惊艳,终端操作从此更加智能便捷。
|
9月前
|
数据采集 存储 人工智能
《文档智能 & RAG让AI大模型更懂业务解决方案评测》
本文介绍了通过文档智能和RAG技术将业务文档整合到大语言模型(LLM)知识库中的实践原理,涵盖了理解情况、技术细节、部署体验、知识库优势及适用场景。重点讨论了文档解析、信息提取、语义理解等步骤,以及RAG技术在LLM中的应用。同时,提出了在技术细节、部署引导、知识库更新和性能优化等方面的改进建议,强调了该方案在企业内部知识管理、客户服务和业务流程自动化中的适用性,但也指出了在安全性、系统集成和性能稳定性方面的不足。
202 0
|
11月前
|
测试技术 持续交付 Apache
Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
【8月更文挑战第5天】随着软件应用的扩展,性能测试至关重要。Apache JMeter是一款成熟且功能强大的开源工具,支持多种协议,可通过命令行模式执行复杂测试计划,并能与Python集成实现自动化。Locust则是一个基于Python的负载测试工具,通过简单脚本模拟HTTP请求,特别适合Web应用测试,支持自定义请求和深度集成Python库。两者各有优势:JMeter适用于多种应用测试,有直观图形界面;Locust专注HTTP请求,对熟悉Python的开发者更为灵活。结合Python的强大功能,这些工具能帮助我们深入挖掘性能测试潜力,提高应用的稳定性和可靠性。
194 3
|
IDE 开发工具 Python
python语法中括号不匹配处理
【7月更文挑战第8天】
427 2
|
设计模式 小程序 程序员
程序员的自我修养 - 架构主题简思
对架构主题的简思汇总,可以作为日常思考主题,是程序的自我修养。
|
虚拟化
kali安装todesk wps/discord
kali安装todesk wps/discord
733 0
|
自然语言处理 供应链 搜索推荐
2023年全面指南:海外独立站运营与优化策略
海外独立站运营的概念与重要性 海外独立站运营是指对海外目标市场进行精准定位,通过建立和运营自有的电商网站,以满足海外消费者需求的一种电商模式。
842 0