设置一个新的Xcode项目– Sarah Lichter
设置一个新的Xcode项目
任何新项目的入门都可能令人生畏。 我坚信,项目设置通常可能只是因为人们不习惯这样做而成为进入的障碍。 我是来帮助消除这一障碍的。 在本教程中,我们将使用CocoaPods设置一个新的iOS项目。 我们还将添加以下测试框架:Quick,Nimble和XCTest-Gherkin。
现在,我们并不真正在乎应用程序是什么。 我们只关心我们可以建立一个具有依赖关系的新项目,并且该应用程序将编译并运行。
创建一个新项目:
打开Xcode。 您会看到一个欢迎屏幕。 选择以下内容:
—创建一个新的Xcode项目
—单视图应用
选择一个产品名称。 为了本教程的缘故,我们将使用FirstApp作为名称。 您可能还需要填写其他空白。 选中包含单元测试和ui测试的框。
点击“完成”,然后选择保存应用的位置。 然后,您将进入以下视图:
安装CocoaPods:
我们将使用CocoaPods进行依赖性管理。 如果您使用Ruby开发,则会发现使用CocoaPods类似于使用Gemfiles进行依赖管理。 如此之多,我们将从创建Gemfile开始。 在终端中,转到项目的根目录,然后执行bundle init
。 通过执行ls
验证是否已创建Gemfile。 您应该在项目的根目录中看到它。
在gemfile中添加CocoaPods。 还可以随时从生成文件时删除注释。 在rubygems.org上找到CocoaPods的宝石,然后抓住安装线。 您的gemfile现在应如下所示:
来源“ https://rubygems.org”
宝石'cocoapods','〜> 1.4'
返回终端,并通过bundle install
gem。
您应该看到类似于以下的输出:
Bundle complete! 1 Gemfile dependency, 30 gems now installed
Bundle complete! 1 Gemfile dependency, 30 gems now installed
。
如果在终端中执行ls
,现在将看到列出的Gemfile.lock
文件。
创建一个Podfile:
现在我们已经安装了CocoaPods,是时候开始使用它来管理我们的依赖了。 为此,我们需要创建一个Podfile。 返回终端,并确保您位于项目的根目录下,并执行pod init
。 执行ls
,您将列出一个Podfile
。
生成的Podfile
应该类似于下面的代码块,其中包含FirstApp以及FirstAppTests(单元测试目标)和FirstAppUITests(ui测试目标)的代码块。
#取消注释下一行以定义项目的全局平台
#platform:ios,'9.0'target'FirstApp'做
#如果您不使用Swift并且不想使用动态框架,请注释下一行
use_frameworks!#TestApptarget'FirstAppTests'的容器
继承! :search_paths
#测试豆荚
endtarget'FirstAppUITests'做
继承! :search_paths
#测试豆荚
结束
目标是在编译,构建和运行项目时实际构建的东西。要查看目标,请返回Xcode并单击左侧面板中的FirstApp。 然后,您将在Targets标题下看到列出的FirstApp,FirstAppTests和FirstAppUITests。
如果回头看一下Podfile的创建方式,它具有不同的目标,都代表了应用程序的不同部分。 有时,从实际应用程序到验收测试,整个项目都需要依赖项。 在其他时候,最好给出依赖项的目标的具体信息,即:应用程序不需要了解验收测试的Gherkin,因此,依赖项应仅安装在FirstAppUITests的目标下。
让我们继续将依赖项添加到其目标中,如下所示:
目标“ FirstApp”
use_frameworks!target'FirstAppTests'做
继承! :search_paths
Pod'Nimble'
豆荚“快速”
endtarget'FirstAppUITests'做
继承! :search_paths
pod'XCTest-Gherkin'
结束
在终端中使用bundle exec pod install
命令安装Pod。 您可能会有一些警告输出。 现在不用担心。 在终端中执行ls
,您应该会看到列出的Podfile.lock
。
您可能还会注意到输出告诉您关闭并重新打开您拥有的所有Xcode会话。 遵循此建议。 在Xcode中重新打开项目时,请确保选择FirstApp.xcworkspace
而不是FirstApp.xcodeproj
。
现在,您应该可以通过单击右上角的播放按钮成功运行您的应用程序。 加载模拟器后,您将出现一个空白屏幕。 到目前为止,您已经做好了准备,可以开始实际编写应用程序了。 恭喜!