たのしい人生

iOS 14.2 (iPhone 12) で Metal を使っているアプリを Xcode 12.3 のデバッガをアタッチした状態で実行すると画面の自動回転が機能しない話

自分で書いてもタイトルが意味不明なのですが

  • macOS Big Sur (11.1)
  • Xcode 12.3
  • iOS 14.2 (iPhone 12)
  • Metal を利用した iOS アプリ
  • Xcode のデバッガがアタッチされた状態で実行

iOS アプリの画面の自動回転が機能しない。

解決法

Scheme の run > option > GPU Frame Capture を Automatically Enabled から Metal に変更する。

おわり

USB ケーブルをつないで iOS 実機で Metal を利用したアプリのデバッグ実行を Xcode から行っていると当該現象が発生して iPhone を回転しても画面が回転しなくなった。当然コントロールセンターで画面回転ロックはしておらず、他のアプリは正常に回転する。また Metal などを利用していない空のアプリだと画面回転が機能する。完全に自分のロジックが間違っているように見える状況でだいぶ頭を抱えた。もー。

参考

developer.apple.com

Amazon.co.jpアソシエイト