【问题标题】:How do I configure my project for Cocoa Pods correctly?如何为 Cocoa Pods 正确配置我的项目?
【发布时间】:2014-03-15 20:32:45
【问题描述】:

在我过去的一些项目中,Cocoa Pod 配置不正确,这会导致不受欢迎的事情,例如在 Project Navigator 中需要重复的 Cocoa Pod 项目,或者必须将 pod 文件签入到版本控制中。

如何正确安装 Cocoa Pods 并验证我的 Directory 结构和 Project Navigator 结构是否设置正确?

【问题讨论】:

    标签: xcode cocoapods


    【解决方案1】:

    使用 Cocoa Pods 的最佳方式是跟随 official example's 的引导。

    这包括几个步骤。

    第一次设置 Cocoa Pods

    1。在您的计算机上安装 Cocoa Pods

    Getting Started Guide 开始,在您的计算机上安装 Cocoa Pods。

    2。创建Podfile

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

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

    Podfile 的内容示例如下:

    pod 'CupertinoYankee', '~> 1.0'
    

    3。运行 pod 安装

    在终端导航到您的 Podfile 目录并运行 pod install

    4。打开生成的工作区

    一旦你运行pod install,你会看到如下消息:

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

    关闭Xcode项目,打开生成的.xcworkspace文件。

    了解变化

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

    1。目录结构

    您应该从以下结构开始:

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

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

    注意唯一的新对象是:

    • MyProject.xcworkspace
    • Podfile.lock
    • 豆荚

    2。项目导航器

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

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

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

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

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

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

    3。配置

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

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

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

    注意在配置下,“MyProject”目标现在指定了Pods

    这很重要,否则 PODS_ROOT 将无法正确设置(除其他外),并且在您构建时,您将get errors

    4。添加了 PODS_ROOT

    您的目标的构建设置来自:(注意:这是一直向下滚动的)

    ...到这个:

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

    注意:这部分配置有时会在重新安装 Pods 时出错,因此您可能需要close and open the Xcode project 来修复它。

    5。其他变化

    你可以看到complete list of the changes here


    【讨论】:

    • 也许这已经存在了,但是这个概述比我在官方网站上找到的要好.. 感谢您花时间发布这个。你帮助了很多人。
    • 非常好,详细的答案。我希望将可可豆荚添加到现有项目中。但无法找到一个好的链接:-(
    【解决方案2】:

    就我而言:在我的项目中,SwiftLint 添加到了Build Phasees -> SwiftLint,如下图 我的根文件夹结构是Volume/Project Files/iOS Project Files/Office Projects/project-name。如您所见,我的目录结构中有空间,在构建阶段执行的 SwiftLint 为这些空间创建问题并显示 no directory found 错误。通过重命名更改高级目录后,如下图解决了我的问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-21
      • 1970-01-01
      • 1970-01-01
      • 2017-12-26
      • 2012-02-08
      • 2016-12-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多