Xcode 12 使用技巧
1 class成员构造函数生成
Swift 可以为 struct 合成成员构造函数,但不能为 class 合成。Xcode 可以帮助生成代码,先选中类名,然后选择菜单 Editor —> Refactor —> Generate Memberwise Initializer。
2 设置App的“外观”
运行 App 到模拟器以后可以找到环境面板,点开它可以设置 Dynamic Type size, 暗黑模式等以查看 App 的变化。
3 选中代码块
选择某个代码块的左侧括号{
,然后双击。
4 检查拼写错误
选择 Edit —> Format —> Spelling and Grammar —> Check Spelling While Typing,将检查代码是否有错别字。
5 修复多个错误
程序出现多个错误时,可以选择 Editor —> Fix All Issues 修复多个错误。
6 搜索查看
在 Find navigator 面板里搜索某个内容时,如果出现多个结果,在使用完一个结果时可以使用 Backspace 剔除该结果,这样剩下的都是未操作过的搜索结果。
7 Canvas切换
Canvas 暂停时,按 Opt+Cmd+P 恢复预览。也使用 Opt+Cmd+Return 来完全隐藏画布。
8 模拟器分屏
选中模拟器,进入 Window 菜单,选择 Tile Window To Right Of Screen,然后选择左边的 Xcode 进行屏幕空间分割调整,这样模拟器就一直在右边显示。
9 代码提示宽度
当代码提示出现以后,如果某个方法特别长,可以选中提示面板的边缘,并将其拖动到想要的宽度。
10 快速添加断点
使用 Cmd+\ 在当前行上添加或删除断点。
11 测试顺序
有时一个测试的输出会影响另一个测试的输入。此时可以进入 Product 菜单,按住 Option,然后点击 Test。在 Info 选项卡中,单击 Options,然后选中 Randomize Execution Order,这样进行测试时每次都会以不同的顺序运行。
12 筛选方法和设备
可以使用 Ctrl+6 快速查看当前文件的方法列表,列表出现以后可以直接输入过滤信息进行方法的筛选,这个操作方式也可以用于模拟器的过滤筛选。
13 查看interface
按住 Ctrl+Cmd+↑,会生成当前文件的 interface,显示当前文件的属性、函数签名和注释。如果存在该文件的测试文件,可以再按一次就会跳转到测试文件。
14 快速补齐文档注释
在某个方法上按住 Option+Cmd+/ 就会生成文档注释。
15 快速查找文件
- 选中项目或者文件夹,右击选择 Sort By Name,此时文件就会按照 A-Z 的顺序排序。
- 项目文件的最下方法,有个过滤框,可以输入关键字进行查找。
16 代码变化提醒
Xcode 偏好设置 —> Source Control —> 勾选 Show Source Control changes,然后进行代码的修改,在修改代码的左边会看到一个蓝色的条状提醒,点击它点并选择 Show Change,就会同时显示新旧代码。
17 使用minimap
在浏览长代码时,可以通过 Editor —> Minimap 调出 minimap,方便查看代码。
18 运行最后一次测试
编写失败的测试很常见,Xcode 有一个快捷键可以只运行最后一个测试:Ctrl+Opt+Cmd+G。
19 修改快捷键
Xcode 偏好设置 —> Key Bindings,然后根据需要搜索和修改。
20 查找选项
Show the Find navigator 界面,每个菜单都可以通过点击弹出更多选项,合理搭配可以提高查找的效率。比如可以点击放大镜查看最近的搜索。
21 粘贴代码格式化
有时候从别的地方粘贴代码到项目中时缩进不对,可以使用 Ctrl+I 进行格式化。
22 内购测试
可以在没有 App Store Connect 的情况下测试应用内购买。创建一个新的 StoreKit Config 文件,并添加 IAP。然后进入菜单 Product,按住 Option 然后点击 Run,在弹出窗口的 Options 选项卡中,更改 StoreKit Configuration 为添加的 StoreKit Config 文件,就可以测试添加的 IAP。
23 查看Build Settings含义
一般很难记住 Build Settings 的作用,可以选择其中一项使用 Quick Help 检查器查看大多数 Settings 的文档,或者按住 Option 并双击以获得内联帮助。
24 多文件Canvas预览
当一个视图被分割成不同文件时,Canvas 预览起来有点困难,此时在预览界面,使用底部的图钉来保持当前预览的活动状态,这样可以在预览一个文件的同时更改另一个文件并能及时反馈到预览里。