如何正确配置 Cocoa Pods 项目?

2023-11-27

在我过去的一些项目中,Cocoa Pods 的配置不正确,这会导致一些不良情况,例如项目导航器中需要重复的 Cocoa Pod 项目,或者必须将 pod 文件签入版本控制。

如何正确安装 Cocoa Pods 并验证我的目录结构和项目导航器结构是否设置正确?


使用可可豆荚的最佳方法是遵循官方的例子 lead.

这由几个步骤组成。

首次设置 Cocoa Pod

1. 在计算机上安装 Cocoa Pods

入门指南在您的计算机上安装 Cocoa Pods。

2. 创建一个Podfile

不要在 Xcode 中创建 Podfile,因为它应该not成为您项目的一部分!

在您最喜欢的文本编辑器中创建文件,并将其保存在与您的文件相同的级别.xcodeproj file.

Podfile 内容的示例如下:

pod 'CupertinoYankee', '~> 1.0'

3.运行pod安装

导航到终端中 Podfile 的目录并运行pod install.

4.打开生成的工作空间

一旦你跑了pod install,您将看到一条消息,例如:

[!] 从现在开始使用MyProject.xcworkspace.

关闭Xcode项目,然后打开生成的.xcworkspace file.

了解变化

如果出现问题,了解对项目进行了哪些更改总是很有用的。

1.目录结构

您应该从以下结构开始:

enter image description here

...然后手动添加一个Podfile:

enter image description here

运行 pod install 后,您的目录结构现在如下所示:

enter image description here

注意唯一的新对象是怎样的:

  • 我的项目.xcworkspace
  • Podfile.lock
  • Pods

2. 项目导航器

在 Xcode 中,您是这样开始的:

enter image description here

...并在新工作区中结束:

enter image description here

作为参考,以下是新目录结构的扩展视图:

enter image description here

显然,Pods 项目已添加到 Project Navigator 中,但还有其他一些关键事项需要注意:

注意如何Podfile位于 Finder 中 Project 文件夹的根目录,但位于 Xcode 项目导航器中的 Pods 项目内部。

同样,请注意如何Pods.xcconfig位于 Finder 中的 Pods 文件夹内,但位于 Xcode 项目导航器中的 Project 内。

3. 配置

这些是与之前相同的屏幕截图:

在 Xcode 中,您是这样开始的:

enter image description here

...并在新工作区中结束:

enter image description here

请注意,在“配置”下,“MyProject”目标现在具有Pods指定的。

这很重要,因为否则 PODS_ROOT 将无法正确设置(除其他外),并且当您构建时,您将出现错误.

4.添加PODS_ROOT

你的目标构建设置从这里开始:(注意:这是一直向下滚动的)

enter image description here

...对此:

enter image description here

注意如何PODS_ROOT被添加为用户定义的设置。

注意:这部分配置有时会在重新安装 Pod 时出现错误,因此您可能需要关闭并打开 Xcode 项目要解决这个问题。

5. 其他变更

你可以看到一个完整的更改列表见此处.


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何正确配置 Cocoa Pods 项目? 的相关文章

  • Cocoapods 测试链接器错误

    每当我构建测试目标 Xcode 生成的标准目标 时 构建都会失败并出现神秘错误 framework not found Pods AppName AppNameTests 我认为这意味着无法找到为我的测试生成的 pod 目标 我的 podf
  • OSX Swift 在默认浏览器中打开 URL

    如何使用 Swift 作为编程语言和 OSX 作为平台在系统默认浏览器中打开 URL 我发现了很多UIApplication like UIApplication sharedApplication openURL NSURL string
  • iPhone SDK:拖动 UIImageView 时出现问题

    我正在尝试在我的应用程序中拖动 iPhone 屏幕上的 UIImageView 目前我设置的拖动功能很好 拖动图像确实会在屏幕上移动它 问题是你不必拖动图像视图来移动它 你也可以拖动屏幕上的任何地方 它会移动图像 我是这个平台的新手 所以我
  • React Native ios运行问题

    我是反应本机和运行新手yarn ios我的 React Native 项目不断失败并出现以下错误 构建失败 以下构建命令失败 编译C Users gift Library Developer Xcode DerivedData gainer
  • xcode“将源编译为”覆盖特定文件

    我有一个项目 必须将 编译源为 值设置为 Objective C 不 根据文件类型 在我的主项目中不起作用 我从框架 特别是 OpenFeint 获得的文件有问题 该文件在编译为 Objective C 时出现编译错误 error poin
  • cmake 生成 Xcode 项目 - 发布构建有效,但存档因链接器错误而失败

    使用 Xcode 6 3 1 CMake 3 2 2 我有一个与图书馆链接的项目 该库作为代码包含在 xcode project 中 经过编译 然后与主可执行文件链接 项目是用cmake生成的 CMakeLists txt 的一些摘录 ad
  • 在 Swift 中使用 commitEditingStyle 动态删除 UITable 部分

    我正在处理一个无法解决的问题 我有一个来自客户数据库数组的名称表 每个客户在其他数据成员中都有一个名称属性 我可以成功删除某个部分中的行 但我不能删除该部分 当该部分中的最后一行被删除时 该部分必须消失 I got NSInternalIn
  • Xcode 4 调试器代码完成

    首先 很高兴他们尝试在 Xcode 4 中的 gdb 命令提示符上完成代码 但在当前状态下 它使得使用命令提示符来调查目标 c 对象几乎不可能 当我打字时 它自动将单词补全为我不想要的内容 并且如果不手动选择文本并将其删除 然后重新开始 则
  • 如何将 UIImageView 裁剪为自定义形状

    用户是否可以在该位周围画一条虚线 圆圈 UIImageView他们希望裁剪到 然后为UIImageView调整大小到这些点 这有点像 Photoshop 中的套索 选取框效果 更新 从 iOS 8 x 开始 UIImageView 提供了m
  • 如何修复 ReactiveCocoa(带有 CocoaPods)的安装?

    这里是新手 尝试将 ReactiveCocoa 2 2 4 和 CocoaPods 安装到项目中 但在运行时遇到错误 我用过github 上的这个 podspec https github com CocoaPods Specs blob
  • 为具有多个目标和不同平台的项目编写 Podfile

    我正在准备一个支持 OS X 和 iOS 的 Pod 我的 pod 有一些自己的依赖项 这些依赖项在 podspec 文件中定义 因此我使用 Podfile 来管理我用来开发 pod 和运行测试的项目的依赖项 我正在使用 CocoaPods
  • 在 github 上下载 ZIP 时没有 .xcodeproj 文件

    我正在尝试将我的 GitHub 项目放入 Xcode 中 当我从 GitHub 下载时 zip 文件不包含任何 xcodeproj 文件 另外 即使我在 xcode 上登录 GitHub 克隆 下载时也没有 在 Xcode 中打开 选项 如
  • 将 Armadillo C++ 库导入 Xcode

    我是 Mac 用户 正在尝试安装和导入 C Armadillo 库 以下是我到目前为止所采取的步骤 1 我从其网站下载了犰狳库 2 我仔细阅读了下载文件中的 Readme txt 文件 解释了如何安装它 3 我使用CMake将犰狳下载文件制
  • 制作已准备好开发人员 ID 的 macOS 安装程序包

    注意 这是为了OS X 安装程序 https en wikipedia org wiki Installer macOS 仅包 提交到的包Mac 应用商店 https en wikipedia org wiki Mac App Store遵
  • 对成员“buildBlock()”的引用不明确

    我一直在尝试使用 Swift UI 为 iOS 13 制作一个应用程序 但我不断收到这个奇怪的错误 对成员 buildBlock 的引用不明确 无论我做什么 错误都不会消失 我尝试一次对代码段进行注释 以查看哪一部分可能导致了问题 但唯一有
  • 如何使用 Core Graphics 在我的触摸位置绘制一个圆圈?

    新程序员来了 我在尝试使用 Core Graphics 在触摸位置周围绘制描边弧时遇到问题 我有绘制圆圈的方法工作正常 并且我已经测试并在点击屏幕时注册触摸 但是当我尝试在点击时调用绘制圆圈的方法时 我收到错误 CG ContextBlah
  • 关于窗口层次结构的警告

    我的调试器中出现这样的警告 这是什么意思 Warning Attempt to present
  • Xcode 中的 iOS 9 警告 - 此文件设置为针对早于项目部署的版本进行构建。功能可能有限

    我刚刚将我的 Mac 更新到最新的操作系统 并将 Xcode 更新到最新版本 现在我收到此警告 但我不知道该由谁来删除它 也不知道它的真正含义是什么 有人可以向我解释一下吗 Thanks Select Main storyboard in
  • Xcode 存档上传失败并出现错误

    我正在尝试从 xCode 将新版本上传到 iTunesConnect 但每次我都会遇到此问题 问题是什么 我该如何解决这个问题 最近 我开始在上传过程中遇到问题 Xcode 经常卡住 最终会因您看到的第二个错误而失败 受够了一段时间后 我转
  • 无法将“SDWebImageActivityIndi​​cator”类型的值分配给“ST_SDWebImageIndicator”类型?

    I have multiple flavours targets in my Xcode project I am also using SDWebImage in my app Everything was working fine un

随机推荐

  • 如何在 Node.js 中使用相同的键设置多个 http 标头字段?

    我正在尝试设置使用 cloudflare 进行服务器推送 但它们需要多个link用于推送多个文件的标头字段 但是 我找不到任何记录的方法来在 node js 中包含具有相同键的多个标头字段 我尝试提供一个数组 但这只是将它们连接在一起作为单
  • 这种自由项变量错误(在宏展开时产生)可以避免吗?

    我正在开发 DSL 并且在扩展宏时遇到 自由术语 失败 我想知道是否可以避免 我把问题简化为以下情况 假设我们有这个表达式 val list join 0 1 2 3 println list 其中 join 是一个宏 其实现是 def j
  • 如何在 Repeater 项中找到选中的 RadioButton?

    我在 ASPX 页面上有一个 Repeater 控件 定义如下
  • 使用 Azure 在哪里存储用户图片等内容?斑点存储?

    我刚刚将我的一个测试用例项目迁移到微软的azure 但对于类似于头像上传的功能 我需要对硬盘上的文件进行写访问 但这是云 所以这是不可能的 我怎样才能构建这样的功能呢 我应该使用 Blob 存储还是有更好的解决方案 将所有网站图像 例如布局
  • 如何从 Firebase 实时数据库获取数据到 Flutter 列表中?

    我正在尝试使用模型将 Firebase 实时数据库中的数据检索到 Flutter 中的列表中 当我这样做时 我的列表返回为空 我已经阅读了其他几篇有关将 Firebase 与 Flutter 结合使用的文章 但尚未找到明确的答案 这是我当前
  • 标签下方的中心单选按钮

    假设我有一些单选按钮 其标签如下所示
  • Haskell:输入“导入”时解析错误

    我正在尝试重新创建输出这个哈斯克尔代码 forM flip mapM import Control Monad Cont main do forM 1 3 i gt do print i forM 7 9 j gt do print j w
  • 在表单中提交禁用的输入无法获取值

    形式如下
  • GTK# .NET 应用程序,无需单独安装 GTK#

    我在 Windows 上使用 MonoDevelop 开发 C 应用程序 发现我喜欢使用 GTK 而不是 winforms 然而 据我所知 到目前为止 您不能仅仅将 GTK 运行时嵌入到应用程序中 问题是我不想要求我正在开发的应用程序的最终
  • MySQL可以替换多个字符吗?

    我正在尝试替换 MySQL 字段中的一堆字符 我知道 REPLACE 函数 但它一次只能替换一个字符串 我看不到任何合适的功能在手册中 我可以一次替换或删除多个字符串吗 例如 我需要用破折号替换空格并删除其他标点符号 您可以链接 REPLA
  • 更新面板错误:在 UpdatePanel 中找不到 ID 为“xxx”的控件

    我有一个复合下拉日历用户控件 由文本框和日历图像以及验证控件组成 我在用户控件上公开了一个名为 TextBox 的属性 该属性返回对控件内使用的文本框的引用 这是用户输入日期的文本框 在 ASPX 页面中 我有一个此用户控件的实例
  • 传递可变参数模板参数的位置

    我想创建一个采用可变数量模板参数的函数 稍后 使用这些参数 函数应该像这样传递它们的位置 template
  • 长ID的性能

    我想知道这个问题已经有一段时间了 在 CouchDB 中 我们有一些相当日志的 ID 例如 000ab56cb24aef9b817ac98d55695c6a 现在 如果我们正在搜索该项目并浏览由视图创建的树结构 看起来一个简单的整数作为 i
  • 为什么派生类不能在此代码中调用受保护的成员函数?

    include
  • 线程和文件写入

    我有一个使用 20 个线程的 java 程序 他们每个人都将结果写入一个名为output txt 我总是得到不同数量的行output txt 会不会是线程同步的问题 有办法处理这个问题吗 难道是线程同步的问题 Yes 有办法处理这个吗 是的
  • 如何构建使用 CMake FetchContent 下载的外部库?

    我有一个依赖于外部库 例如 SDL 的程序 我希望 CMake 为我处理这种依赖性 所以我正在研究FetchContent 据我了解 该模块只是下载源代码 以便可以在以下位置获得有关外部库的信息配置时间 例如 include FetchCo
  • SVN:发布分支和外部?

    我们有两个针对同一客户的网站 主 www 网站和另一个位于单独服务器上的电子商务网站 它们使用共享的代码部分 各种功能 样式 javascript 等 目前 我们通过将共享代码作为 SVN 中的单独项目 在同一存储库中 并使用 svn ex
  • Python3中如何设置文件权限?

    Python 自己的文档非常简洁地介绍了如何使用类似的函数os fchmod os chmod 我对这样的数字感到困惑777和类似的表达方式stat S IWRITE stat S IEXEC 是什么mode 0o777我在一些函数中看到o
  • 首先在 EF 4.1 代码中映射关联表

    我不确定如何映射下面的表格EF 4 1 code first以及我需要哪些对象来代表表格 我如何检索产品规格列表 我目前只有一个Product class Products Table Id Name IsActive ProductSpe
  • 如何正确配置 Cocoa Pods 项目?

    在我过去的一些项目中 Cocoa Pods 的配置不正确 这会导致一些不良情况 例如项目导航器中需要重复的 Cocoa Pod 项目 或者必须将 pod 文件签入版本控制 如何正确安装 Cocoa Pods 并验证我的目录结构和项目导航器结