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

Cocoapods整理(二)——使用Cocoapods

Cocoapods整理(二)——使用Cocoapods目录Pod常用命令Pod集成进项目Pod从项目中删除1.Pod常用命令podsearchXXXX:搜索XXXX框架信息(该信息
Cocoapods整理(二)——使用Cocoapods

目录

  • Pod常用命令
  • Pod集成进项目
  • Pod从项目中删除

1.Pod常用命令

pod search XXXX :搜索XXXX框架信息(该信息是从本地的repo中搜索的)

pod setup :初始化pod,会更新三方库信息库

pod repo update :更新cocoapods官方三方库信息库(可指定repo库名更新,如:pod repo update master)

pod init :为Xcode项目初始化pod(在项目路径下创建Podfile文件)

pod install :根据Podfile描述文件“下载/更新”三方框架,并集成到当前路径的项目中。如果第一次安装则自动创建.xcworkspace文件

1> 搜索三方框架

pod search XXXX

以AFNetworking为例:在命令行输入 pod search AFNetworking 会显示

《Cocoapods整理(二)——使用Cocoapods》

然后按Q键可以返回

此外还可以在网上搜索:Pod搜索网站

2> 初始化/更新框架库

pod setup
pod repo update

我们通过pod search AFNetworking命令搜索,其实就是在本机的 ~/.cocoapods/repos 目录下搜索;搜索得到的AF库的详细信息,就是路径下.podsepc文件里存的信息。
我们打开该目录可以看到一个master文件夹,这个文件夹就是cocoapods官方的三方库信息库,记录了所有发布到cocoapods官方repo库上的三方库信息。

《Cocoapods整理(二)——使用Cocoapods》

而pod setup命令的其中一步(或pod repo update)其实就是去pull repos文件夹下的所有repo库。如此,当有人发布新的框架信息时,你需要先执行一下pod setup 或 pod repo update将新信息拉下来,然后就可以search到这些新库的信息了。

《Cocoapods整理(二)——使用Cocoapods》

附上cocoapods官方三方库信息库的链接:The CocoaPods Master Repo –> https://github.com/CocoaPods/… / https://github.com/CocoaPods/…

ps:
需要注意的是,经常有人遇到会一直卡在 Setting up CocoaPods master repo 这里,如图:

《Cocoapods整理(二)——使用Cocoapods》

对于该问题有下面几个可能性:

1. 因为执行setup后会从git仓库上拉框架信息,信息非常之多,如果是你第一次拉的话等很久也正常。你可以自己查看一下
~/.cocoapods/repos/master 文件夹的大小有没有发生变化,以此来判断是真的卡住了还是正在下载中;另外还可以在命令行中的
~/.cocoapods/repos 路径下执行
du -sh * 查看当前文件夹下各个项目的大小,以便于判断是否正在下载中。

《Cocoapods整理(二)——使用Cocoapods》

2. 你可能会发现文件夹的大小没有发生变化,或者发现下载速度很慢。其实本质上来说就是你在下载框架信息,而ruby镜像源会影响下载速度的快慢。所以可能的原因就是你没有替换ruby镜像,可看Cocoapods整理(一)——安装Cocoapods“安装Cocoapods”小结的相关内容,替换ruby镜像。

3. 自己电脑网络问题,请尝试打开百度测试一下。

4. 此外还有一个解决办法,就是直接去https://github.com/CocoaPods/…
下载,下载下来之后拷贝到~/.cocoapods/repos目录下。需要注意一下你拉的是哪个分支,还有就是文件夹的名字别搞错了

2.Pod集成进项目

1. 项目初始化pod

2. 编写Podfile

3. 项目集成pod

4. 使用

1> 项目初始化pod

在命令行中cd到你的Xcode项目根目录,然后输入

pod init

在当前目录下会创建一个Podfile文件。

《Cocoapods整理(二)——使用Cocoapods》

2> 编写Podfile

以AFNetworking为例,
用pod search AFNetworking命令搜索,然后将其中的 pod ‘AFNetworking’, ‘~> 3.1.0’ 拷贝到Podfile文件中,并修改你想要的版本。

《Cocoapods整理(二)——使用Cocoapods》

3> 项目集成pod

然后在命令行中,项目根目录下输入 pod install 等待安装完成

《Cocoapods整理(二)——使用Cocoapods》

然后项目根路径下会多出一个.xcworkspace文件

《Cocoapods整理(二)——使用Cocoapods》

以后打开项目将使用.xcworkspace文件,而不使用原有的.xcodeproj

4> 使用

《Cocoapods整理(二)——使用Cocoapods》

3.Pod从项目中删除

1> 项目中进入Target->Build Phases,删除 [CP]Check Pods Manifest.lock 和 [CP]Copy Pods Resources
《Cocoapods整理(二)——使用Cocoapods》

2> 项目文件夹下,删除Pod相关文件
《Cocoapods整理(二)——使用Cocoapods》

3> 最后打开项目,删除 libPods-XXXX.a 和 Pods目录下的所有文件。
《Cocoapods整理(二)——使用Cocoapods》

后续

Cocoapods整理(一)——安装Cocoapods
Cocoapods整理(三)——编写podspec文件
Cocoapods整理(四)——搭建Cocoapods私有库环境


推荐阅读
  • 在软件开发过程中,经常需要将多个项目或模块进行集成和调试,尤其是当项目依赖于第三方开源库(如Cordova、CocoaPods)时。本文介绍了如何在Xcode中高效地进行多项目联合调试,分享了一些实用的技巧和最佳实践,帮助开发者解决常见的调试难题,提高开发效率。 ... [详细]
  • Android 构建基础流程详解
    Android 构建基础流程详解 ... [详细]
  • 在安装 iOS 开发所需的 CocoaPods 时,用户可能会遇到多种问题。其中一个常见问题是,在执行 `pod setup` 命令后,系统无法连接到 GitHub 以更新 CocoaPods/Specs 仓库。这可能是由于网络连接不稳定、GitHub 服务器暂时不可用或本地配置错误等原因导致。为解决此问题,建议检查网络连接、确保 GitHub API 限制未被触发,并验证本地配置文件是否正确。 ... [详细]
  • 在前文探讨了Spring如何为特定的bean选择合适的通知器后,本文将进一步深入分析Spring AOP框架中代理对象的生成机制。具体而言,我们将详细解析如何通过代理技术将通知器(Advisor)中包含的通知(Advice)应用到目标bean上,以实现切面编程的核心功能。 ... [详细]
  • 为了在Hadoop 2.7.2中实现对Snappy压缩和解压功能的原生支持,本文详细介绍了如何重新编译Hadoop源代码,并优化其Native编译过程。通过这一优化,可以显著提升数据处理的效率和性能。此外,还探讨了编译过程中可能遇到的问题及其解决方案,为用户提供了一套完整的操作指南。 ... [详细]
  • 在 CentOS 7 系统中安装 Scrapy 时遇到了一些挑战。尽管 Scrapy 在 Ubuntu 上安装简便,但在 CentOS 7 上需要额外的配置和步骤。本文总结了常见问题及其解决方案,帮助用户顺利安装并使用 Scrapy 进行网络爬虫开发。 ... [详细]
  • 在Linux系统中,网络配置是至关重要的任务之一。本文详细解析了Firewalld和Netfilter机制,并探讨了iptables的应用。通过使用`ip addr show`命令来查看网卡IP地址(需要安装`iproute`包),当网卡未分配IP地址或处于关闭状态时,可以通过`ip link set`命令进行配置和激活。此外,文章还介绍了如何利用Firewalld和iptables实现网络流量控制和安全策略管理,为系统管理员提供了实用的操作指南。 ... [详细]
  • 在Ubuntu上安装MySQL时解决缺少libaio.so.1错误及libaio在MySQL中的重要性分析
    在Ubuntu系统上安装MySQL时,遇到了缺少libaio.so.1的错误。本文详细介绍了如何解决这一问题,并深入探讨了libaio库在MySQL性能优化中的重要作用。对于初学者而言,理解这些依赖关系和配置步骤是成功安装和运行MySQL的关键。通过本文的指导,读者可以顺利解决相关问题,并更好地掌握MySQL在Linux环境下的部署与管理。 ... [详细]
  • 本文介绍了 Vue 开发的入门指南,重点讲解了开发环境的配置与项目的基本搭建。推荐使用 WebStorm 作为 IDE,其下载地址为 。安装时请选择适合您操作系统的版本,并通过 获取激活码。WebStorm 是前端开发者的理想选择,提供了丰富的功能和强大的代码编辑能力。 ... [详细]
  • .NET Core 托管服务优化与实践
    在.NET Core应用中,托管服务的形式主要分为进程内托管(InProcess)和进程外托管(OutOfProcess)。这两种托管方式各有优缺点,本文将深入探讨它们的特点,并结合实际案例,介绍如何根据具体需求选择合适的托管模式,以实现性能优化和资源利用的最大化。此外,文章还将分享一些实用的配置技巧和最佳实践,帮助开发者提升应用的稳定性和可维护性。 ... [详细]
  • Webdriver中元素定位的多种技术与策略
    在Webdriver中,元素定位是自动化测试的关键环节。本文详细介绍了8种常用的元素定位技术与策略,包括ID、名称、标签名、类名、链接文本、部分链接文本、XPath和CSS选择器。每种方法都有其独特的优势和适用场景,通过合理选择和组合使用,可以显著提高测试脚本的稳定性和效率。此外,文章还探讨了在复杂页面结构中如何灵活运用这些定位技术,以应对各种挑战。 ... [详细]
  • 在ElasticStack日志监控系统中,Logstash编码插件自5.0版本起进行了重大改进。插件被独立拆分为gem包,每个插件可以单独进行更新和维护,无需依赖Logstash的整体升级。这不仅提高了系统的灵活性和可维护性,还简化了插件的管理和部署过程。本文将详细介绍这些编码插件的功能、配置方法,并通过实际生产环境中的应用案例,展示其在日志处理和监控中的高效性和可靠性。 ... [详细]
  • 在Mac系统中安装Hexo时,如果遇到“Error: Cannot find module './build/Release/DTraceProviderBindings’”错误,可以通过以下步骤解决:首先确保已正确安装Node.js和npm,然后尝试运行`npm install hexo --no-optional`。若问题依然存在,建议检查环境变量配置,并参考Hexo官方文档进行进一步排查。 ... [详细]
  • 在处理 XML 数据时,如果需要解析 `` 标签的内容,可以采用 Pull 解析方法。Pull 解析是一种高效的 XML 解析方式,适用于流式数据处理。具体实现中,可以通过 Java 的 `XmlPullParser` 或其他类似的库来逐步读取和解析 XML 文档中的 `` 元素。这样不仅能够提高解析效率,还能减少内存占用。本文将详细介绍如何使用 Pull 解析方法来提取 `` 标签的内容,并提供一个示例代码,帮助开发者快速解决问题。 ... [详细]
  • 利用Python与Android进行高效移动应用开发
    通过结合Python和Android,可以实现高效的移动应用开发。首先,需要安装Scripting Layer for Android (SL4A),这是一个开源项目,旨在为Android系统提供脚本语言支持。SL4A不仅简化了开发流程,还允许开发者使用Python等高级语言编写脚本,从而提高开发效率和代码可维护性。此外,SL4A还支持多种其他脚本语言,进一步扩展了其应用范围。通过这种方式,开发者可以快速构建功能丰富的移动应用,同时保持较高的灵活性和可扩展性。 ... [详细]
author-avatar
七仙女跳皮筋
这个家伙很笨,什么也不会!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有