适用于iOS开发人员的前5个命令行工具

注意:这是我在XCblog上的原始博客文章的转发

Xcode附带了许多命令行工具,您可以在以下路径找到它们

  /Applications/Xcode.app/Contents/Developer/usr/bin 

每个人都有特定的目的,但其中一些对于iOS开发人员的日常角色非常重要。 大多数iOS开发人员喜欢通过Xcode或使用第三方GUI工具来完成GUI的所有操作,但是经验丰富且经验丰富的开发人员会使用诸如boss之类的命令行工具。 每个iOS开发人员都应该知道一些有用的工具,并且其中几乎没有以“ XC”为前缀的工具。 在这篇文章中,让我们浏览其中的五个。

xcodebuild

xcodebuild命令是iOS开发中所有命令的父级。 您可以使用“ xcodebuild”命令执行大多数iOS开发人员任务,例如清理,分析,构建,测试,存档,但是您需要将很多选项传递给“ xcodebuild”才能完成正确的事情。 您可以使用手册页浏览这些选项

  $ man xcodebuild 

或者,您可以在此处的网页中找到所有这些有用的信息。 我们可以使用xcodebuild来构建,测试和归档我们的项目目标或方案。 “ xcodebuild”的示例为

  > xcodebuild测试-project MyAppProject.xcodeproj -scheme MyApp 
-destination'platform = OS X,arch = x86_64'
-destination'platform = Simulator,name = iPhone,OS = 10.2'

“ xcodebuild”是一个巨大的命令,掌握它会花费很多时间,但是一旦知道了它,就可以编写与iOS开发相关的任何脚本。

Xcode选择

Xcode具有活动的开发人员目录,通常位于/Applications/Xcode.app/Contents/Developer/或我们可以使用环境DEVELOPER_DIR进行设置。 命令xcode-select用于管理Xcode的活动开发人员目录,以便我们可以同时管理两个版本的Xcode。 我们可以在Xcode版本之间切换,例如我们想使用Xcode beta

$ sudo xcode-select —切换/Applications/Xcode-beta.app/

我们也可以使用’xcode-select’通过命令使用GUI交互来安装Xcode命令行工具

$ xcode-select-安装

xcrun

Xcode命令行工具可以通过xcrun命令轻松运行。 它使我们不仅能够找到工具,而且还能执行它们。 我们可以使用’xcrun’找到快速的工具链

  $ xcrun-找到迅捷 

我们可以使用’xcrun’执行大多数Xcode命令工具。 可以与“ xcrun”一起使用的最有用的工具是“ simctl”,以使用命令行来管理模拟器。 我们可以使用’simctl’在命令行中创建,编辑,删除和删除模拟器,例如,我们可以创建

  $ xcrun simctl创建'iPhone 7'\ 
com.apple.CoreSimulator.SimDeviceType.iPhone-7 \
com.apple.CoreSimulator.SimRuntime.iOS-10-3

我们还可以使用其标识符删除,擦除模拟器。 您可以在此处阅读有关xcrun的更多信息

xcscontrol

Xcode Server是Apple提供的持续集成系统。 我们可以使用xcscontrol来管理Xcode Server活动,例如启动,停止,重启服务器。 我们可以使用以下方式重置Xcode服务器

  $ sudo xcrun xcscontrol --reset 

测试

XCTest可以使用xcodebuild执行,但是还有其他工具可以用来运行单元测试。 我们可以使用’xctest’来运行单元测试。

  $ xcrun xctest [-XCTest全部|  ]  

有很多工具可用,但在本文中,我们将仅介绍这些工具。

像XCBlog的 XCTEQ 发布的帖子一样 您可能还喜欢我们的一些服务,例如访客博客或Mobile DevOps(CI / CD)或测试自动化。 Github 搜索我们的 服务 ,开源项目, 或者在 Twitter Facebook Youtube LinkedIn 上关注我们 下载我们的 XCBlog iOS应用程序以离线阅读博客。

X CTEQ 一家专门从事基于Mobile DevOps,CI / CD,Mobile,AI / ML的测试自动化Checkout XCTEQ产品和服务的公司, 网址 http://www.xcteq.co.uk 或写信给我们info@xcteq.co。英国..