热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

cocoapod学习记录

cocoapod学习记录CocoaPo
cocoapod 学习记录

CocoaPods 是一个管理 iOS 和 Mac 应用程序依赖项的工具。它使用 Ruby 语言编写,提供了一个简单的方式来安装、管理和更新第三方库。本教程将帮助你快速了解 CocoaPods 的基本使用方法。

Tiny Demo

前置条件

在开始使用 CocoaPods 之前,你需要满足以下前置条件:

  • 确保已经安装了 Ruby 和 RubyGems, 实际上macos已经内置了它们。
  • 确保已经安装了 Xcode 开发工具;
  • 确保已经安装了 Git 版本控制系统。

安装 CocoaPods

在命令行中输入以下命令来安装 CocoaPods:

sudo gem install cocoapods

请注意,这个过程可能需要一段时间,具体时间取决于你的系统配置和网络状况。

创建一个新的 Xcode 项目

在使用 CocoaPods 之前,你需要先创建一个新的 Xcode 项目。在 Xcode 中,选择 File > New > Project,然后选择 iOS/Mac(因为我后面用到的是Poco C++库,它只支持ios,所以这里我选择了ios,后面语言选择Object-c,因为只有它才可以直接调用c++) 应用程序模板。

在项目中使用 CocoaPods


创建 Podfile

pod init

编辑 Podfile

打开 Podfile 文件,使用 Ruby 语言编写所需的第三方库依赖项。例如,如果要使用 Alamofire 库,Podfile 文件应如下所示:

# Uncomment the next line to define a global platform for your project
platform :ios, '9.0'target 'first' do# Comment the next line if you don't want to use dynamic frameworks# use_frameworks!pod 'Poco-minimal'# Pods for firstend

在这个例子中,platform 表示你的项目是基于 iOS 平台开发的,最低版本为 iOS 9.0。use_frameworks! 表示你希望使用 Swift 框架来编写你的项目。target 表示项目的目标名称,pod 命令表示你希望使用 Poco-minimal 库。

在 Podfile 文件中添加完所有的依赖库之后,保存文件并退出编辑器。

安装依赖库

在终端中,进入项目目录,并执行以下命令来安装依赖库:

pod install

这个过程可能需要一段时间,具体时间取决于你的依赖库数量和网络状况。

如果安装成功,CocoaPods 会生成一个名为 Pods 的文件夹,包含所需的第三方库和其他必要的文件。

使用依赖库

在项目中使用 CocoaPods 安装的第三方库C++库,像使用任何一个库一样使用它。

#import <UIKit/UIKit.h>
#import "AppDelegate.h"#include int main(int argc, char * argv[]) {NSString * appDelegateClassName;&#64;autoreleasepool {// Setup code that might create autoreleased objects goes here.appDelegateClassName &#61; NSStringFromClass([AppDelegate class]);}auto result &#61; Poco::XML::toXMLString("123");return UIApplicationMain(argc, argv, nil, appDelegateClassName);
}


Command

pod install

添加到 CocoaPods 的源地址列表会在执行 pod install 命令时被用到。在 Podfile 文件中&#xff0c;可以通过 source 命令来指定所需要的仓库源。当你执行 pod install 命令时&#xff0c;CocoaPods 会根据 Podfile 中指定的仓库源地址去查找所需的第三方库&#xff0c;并将其安装到本地项目中。

如果 Podfile 文件中没有指定任何仓库源&#xff0c;CocoaPods 会默认使用官方的仓库源地址&#xff08;https://github.com/CocoaPods/Specs.git&#xff09;来查找所需的第三方库。

如果你添加了其他的仓库源地址&#xff0c;那么在执行 pod install 命令时&#xff0c;CocoaPods 会优先从你指定的仓库源地址中查找所需的第三方库。如果在指定的仓库源中找不到所需的第三方库&#xff0c;CocoaPods 会自动从默认的官方仓库源中查找。

因此&#xff0c;你可以添加其他的仓库源地址&#xff0c;以便查找一些在官方仓库源中不存在的第三方库。同时&#xff0c;你也可以使用 pod repo list 命令来查看已经添加到 CocoaPods 中的仓库源地址列表&#xff0c;以便管理和维护这些源地址

Q&A

如何知道pod lib是从哪个源安装的

Podfile.lock 文件中会有记录。

SPEC REPOS:trunk:- Poco-minimal

如上就表示&#xff0c;lib Poco-minimal 来自 repo source trunk。 repo source 可以通过

pod repo list

查看。

c-cache 和 binary cache 的区别&#xff1f;

c-cache 和 binary cache 都是 CocoaPods 中用于缓存依赖库的机制&#xff0c;但二者的缓存内容和作用略有不同。

c-cache 是 CocoaPods 的一个缓存机制&#xff0c;用于缓存 Pod 安装过程中的编译结果和其他产生的中间文件&#xff0c;以便在下次安装同一个版本的 Pod 时可以直接使用已有的编译结果&#xff0c;提高安装速度。c-cache 存储的内容是源代码的编译结果&#xff0c;因此它不是可执行二进制文件&#xff0c;也不适用于在不同的机器之间共享缓存。

binary cache 则是一个基于 CDN&#xff08;Content Delivery Network&#xff0c;内容分发网络&#xff09;的缓存服务&#xff0c;由 CocoaPods 提供商 AppCoda 维护。它缓存的是 Pod 的二进制文件&#xff0c;即编译后的可执行文件和库文件。binary cache 的作用是在安装 Pod 时&#xff0c;如果本地没有 c-cache 或者 c-cache 已经过期&#xff0c;会尝试从 binary cache 中获取预编译的二进制文件&#xff0c;以加快安装速度。binary cache 的缓存内容是可执行二进制文件&#xff0c;可以在不同的机器之间共享缓存&#xff0c;从而更好地提高依赖库的共享和复用。

综上&#xff0c;c-cache 和 binary cache 都可以用于缓存依赖库&#xff0c;但缓存的内容和作用略有不同。c-cache 主要用于缓存源代码的编译结果&#xff0c;用于加快本地安装速度&#xff1b;而 binary cache 主要用于缓存可执行的二进制文件&#xff0c;用于加速在不同机器之间的依赖库共享。

Refer

CocoaPods Guides - Getting Started


推荐阅读
author-avatar
情人有意_119
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有