17
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

Xcodeの便利機能

iOS開発では必須のXcodeですが、あまり知られていない(かもしれない?)便利機能を紹介します。

Multi-cursor editing

Optionキーを押しながらドラッグすると縦に選択できます。
縦の選択自体はMacの標準機能で、通常のNSTextViewを使っていれば対応しています。
75941177-5aef5980-5ed2-11ea-9baa-63198b7a830c.gif
Shift+Control+クリックでカーソルを増やすことができます。
75941196-60e53a80-5ed2-11ea-8272-373d0ba805d2.gif

Source code control

どの行がいつ、誰によってコミットされたのかが見れます。(メニュー:Editor→Authors)
例えばクラッシュが起きる箇所のコードが最近書き換えられたのか、昔からあるコードなのか、を調べる事ができます。
Screen Shot 2020-04-18 at 20.53.45.png

任意の過去のバージョンと比較ができます。(メニュー:View→Show Code Review)
例えば今日と一週間のコードを比べることにより、バグやクラッシュの原因の特定などに使えます。
Screen Shot 2020-04-18 at 20.54.15.png

ナビゲージョンバーをクリックするとファイルやプロパティ、メソッドの一覧が表示されますが、この状態でキー入力するとフィルタリングできます。
ezgif-6-5a20c00f5fe7.gif

Symbolic breakpoint

バイナリ化されたライブラリやシステムフレームワークなどにブレークポイントを貼る事ができます。
例えば、年内にdeprecatedされるUIWebViewを使っているライブラリを検知するのに使えます。
Screen Shot 2020-04-18 at 20.57.03.png

WebKitのようなC++のライブラリでもブレークポイントを貼れます。
Screen Shot 2020-04-18 at 20.58.39.png

Debug View Hierarchy

Debug View Hierarchyはビューの階層を調べるのによく使う機能ですが、それ以外にもシステムコントロールがどのように実装されているか、などを調べるのに使えます。例えばUIDatePickerは実際に3D構造になっていることが分かります。
75941269-84a88080-5ed2-11ea-8223-9985accf10ee.png

またSFSafariViewControllerのWKWebViewはDebug View Hierarchyでは表示されず、別プロセスで動作しているためアクセスできないことが分かります。
75941272-88d49e00-5ed2-11ea-9623-c880604dc401.png

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
17
Help us understand the problem. What are the problem?