13
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Xcodeの便利機能

Posted at

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

13
17
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?