Xcode 9 模拟器新特性

Xcode 9 beta 版本出来后,出现了很多新特性,下面带大家了解下。

搭配Xcode全屏模式进行分屏

分屏

在终端通过执行下面命令(创建 AppleInternal 目录),可以查看模拟器其他隐藏的功能。

1
sudo mkdir /AppleInternal

提示:这个命令貌似只对 Xcode9-beta3 以上版本有效。

如果拖动模拟器到 Xcode 分屏时不生效,看下模拟器的全屏模式是否打开,如下:
打开允许全屏模式

注: 这个菜单项需要执行了上面的命令后才会出现。

打开多个模拟器

Xcode9 之前,我们一次只能打开一个模拟器,想换个模拟器看看效果就得将当前的模拟器关了,很是麻烦。
no 2333



但是…
如今,Xcode9 直接支持啦

惊艳。。。。

multi_simulator
不过,温馨提示:开启多个模拟器意味着占用的内存和CPU都会提高,所以,多个模拟器虽好,开启还需谨慎。

调整模拟器大小

还是以前,模拟器只有几种 size,通过 cmd + [1|2|3…] 命令可进行切换。如今,Xcode9 最新模拟器支持像窗口一样直接对模拟器进行拉伸和缩小

resize

屏幕录制

Xcode9 文档中声明了,你可以通过下面命令录制模拟器屏幕:
xcrun simctl io booted recordVideo --type=mp4 <PATH TO VIDEO FILE>
注:文件名需要加后缀

不过,通过实测,录制出来的视频太模糊,而且感觉还掉帧。

文件共享

新的模拟器允许你和 Finder 的文件进行传输,你只需要拖动文件即可。

share_file
你也可以通过下面的命令操作图片,音频或视频文件
xcrun simctl addmedia booted <PATH TO MEDIA FILE>
当然了,还是直接拖动来得快些。

在模拟器上打开 URL

其实这里说的也是 simctl 工具,通过 xcrun simctl openurl booted <URL> 可以打开自定义的 scheme,(同样可以在旧版的模拟器上打开)

open_url

:如果你有多个 Xcode 版本,如你有 Xcode8 和 Xcode9-beta, 那在执行此命令时,你需要确保当前选择的命令行工具和你所打开的模拟器一致,如:如果你选择的是 Xcode8 的命令行工具,而你当前打开的是 Xcode9-beta 的模拟器,那么,执行该命令时是找不到 booted 的模拟器的。查看当前选中的命令行工具可以通过 Xcode -> Preferences… -> Locations 查看和修改。

命令行工具查看

当然,你也可以通过 xcode-select -p 来查看当前选中的工具,通过 xcode-select -s [工具路径] 来切换命令行工具。

切换命令行工具

获取 app 容器的位置

以前,每次想找到模拟器上的app存储在哪都特别费劲,现在,通过 xcrun simctl get_app_container booted [BUNDLE ID] 命令,就可以快速找到了。

以上,好几个特性说的其实都是 simctl 的使用,simctl 还有好些功能,比如通过 xcrun simctl launch --console booted [BUNDLE ID] 运行指定的app;通过 xcrun simctl appinfo booted [BUNDLE ID] 获取app的配置信息等。如果你想了解更多的话可以通过 xcrun simctl -h 命令查看帮助文档。