如何正确地为Cocoa Pods配置我的项目?
使用CocoaPods的正确方式是按照官方示例进行操作。具体包括以下几个步骤:
首次设置CocoaPods
1. 在计算机上安装CocoaPods
按照入门指南安装CocoaPods。
2. 创建Podfile
在文本编辑器中创建一个Podfile文件,并将其保存在与.xcodeproj
文件相同的级别上。
Podfile的内容示例如下:
pod 'CupertinoYankee', '~> 1.0'
3. 运行pod install
在终端中导航到Podfile所在的目录,并运行pod install
。
4. 打开生成的workspace
运行pod install
后,会看到以下消息:
[!] From now on use MyProject.xcworkspace
.
关闭Xcode项目,并打开生成的.xcworkspace
文件。
了解更改
如果出现问题,了解项目中的更改是非常有用的。
1. 目录结构
起始目录结构如下:
...然后手动添加一个Podfile:
运行pod install后,目录结构变为:
注意,新增的对象只有:
- MyProject.xcworkspace
- Podfile.lock
- Pods
2. 项目导航器
在Xcode中,起始状态如下:
...在新的workspace中,最后的状态如下:
以下是新目录结构的详细信息:
请注意,Finder中的Podfile
位于MyProject文件夹的根目录下,而在Xcode的项目导航器中则位于Pods项目中。
类似地,Finder中的Pods.xcconfig
位于Pods文件夹中,而在Xcode的项目导航器中则位于MyProject中。
3. 配置
这些是之前的截图:
在Xcode中,起始状态如下:
...在新的workspace中,最后的状态如下:
请注意,在配置中,"MyProject"目标现在指定了Pods
。这一点很重要,否则PODS_ROOT将无法正确设置(以及其他一些问题),构建时会出现错误。
4. 添加PODS_ROOT
目标的Build Settings从以下状态:
变为以下状态:
请注意,添加了PODS_ROOT
作为用户定义的设置。注意:这部分配置在重新安装Pods时有时会出现问题,因此您可能需要关闭和打开Xcode项目来修复它。
5. 其他更改
您可以在此处查看所有更改的完整列表。
在我的情况下,我在我的项目中将SwiftLint添加到了“Build Phases -> SwiftLint”中,如下图所示:
[![SwiftLint](https://i.stack.imgur.com/Ne0kG.png)](https://i.stack.imgur.com/Ne0kG.png)
我的根目录结构是“Volume/Project Files/iOS Project Files/Office Projects/project-name”。从图中可以看出,我的目录结构中有空格,SwiftLint在构建阶段执行时会对这些空格造成问题,并显示“no directory found”错误。通过像下图中所示的重命名高级目录来解决这个问题:
[![Project directory after rename](https://i.stack.imgur.com/3WlcA.png)](https://i.stack.imgur.com/3WlcA.png)