Xcode9でiPhoneX/iOS11のシミュレーターが凄まじく重いのをどうにかする

  • 9
    いいね
  • 1
    コメント

前提としてXcode9のbeta3以前が必要です

はじめに

iOS11のリリースに加え、先日のイベントでiPhoneXとかいう変態仕様端末が発表されたために、デザイナー・エンジニア界隈は対応に追われているかと思います。
まだ実機が出回ってないため、UI周りの確認などはXcode9GM版以降のシミュレーターで調整をするしか無いと思うのですが、Xcode9内臓のiPhoneXシミュレーターを使おうとすると尋常じゃない重さでとてもやってられません。(というかiOS11だとだめっぽいので、iPhone8でも同様かと思います)
特に描画処理の多いゲーム系のアプリケーションだと頭がおかしくなりそうなくらい重いです。

Xcode9beta4の辺りからMapViewでも起きてたバグらしくOpenGLESが原因らしいです。
https://forums.developer.apple.com/thread/83570

対処

https://twitter.com/i/web/status/910203896332783616
このツイートを試したら解消しました。@stroughtonsmithさんありがとう🙇

要するにXcode9で使われているOpenGLES.frameworkをXcode9beta3以前のものに取り替えてあげるとかなり軽くなります。
beta2以前やXcode8系のものに差し替えた場合どうなるかは未確認です。
念のためもともとのOpenGLES.Framesworkは保存しておくのが良いかと思います。

cp Xcode9_beta3.app/Contents/Developer/Platforms/iPhoneOS.platforms/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/OpenGLES.framework Xcode9.app/Contents/Developer/Platforms/iPhoneOS.platforms/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/OpenGLES.framework

Apple公式フォーラムでも出ている話題なので次のXcodeのリリースでは修正されていると思いたいですね…
こういった事があるので、過去のバージョンのXcodeもどこかに保存しておくようにしたほうがいいのかなー、と思いました。

恒例の新iOSリリースの際のバグ祭りですが、今回は一段とひどいような気がします😔