Xcodeで入力補完が効かなくなった

macOS 10.12.6, Xcode 8.3.3, CocoaPods 1.3.1, Ruby 2.4.2p198, rbenv 1.1.1-6-g2d7cefe

最近どうもiMacが重い。
特にXcodeが重い。
生成、リンクされるバイナリーが多いことが原因なのか、特にCocoaPodsを使用するプロジェクトが極めて重い。
起動するだけで、"Indexing | Processing files" となって、そいつがなかなか終わらない。

そしていつからか入力補完やJump To Definitionが効かなくなっていた。
既存のでかいプロジェクトだけでなく、新規プロジェクトにおいてすら効かない。

結局原因は判らずじまいだが、やった手順はこちら↓

  • まずこちらを試してみたがダメ
  • こちらのChinmay氏の投稿(現時点で133Votes)を参考に同じ手順を実行してみたがダメ
  • 1つ下のバージョンである 8.2.1 をインストールしてみたがダメ
  • 8.2.1 を削除して、ゴミ箱を空にしてから8.3.3 を再インストールしてみたら直った

結果から見るに、どうもゴミ箱に捨てた古いXcode.app内のデータにリンクして動いていたような雰囲気を感じるが、原因不明。迷宮入り。

今回のことから得るべき教訓は、「ゴミ箱は定期的に空にしようね!」ということ。
どんだけ溜めていたのか、ゴミ箱を空にするだけで30分くらいかかった。(私のMac重すぎぃ〜)

相変わらず動作は重いけれども、入力補完と関数ジャンプは機能するようになった。

どこかで誰かが言っていたが、XcodeEclipseが重くて作業効率が悪いというのは我々開発者にとって致命的なストレスである。自宅PCなら買い換えれば良いだけなのだが、仕事だとなかなか難しい。エンジニアの作業効率に注文をつけるマネージャーは多いが、エンジニアの作業環境に気配りしてくれるマネージャーなんてなかなかいない。与えられた環境でパフォーマンスを出すのが我々の仕事だ。ゆえにプログラマーというのはOSやPCのコンフィギュレーションにも精通していなければならない。