【XCode】iOSアプリのTabBarControllerとNavigationControllerの回転処理について

8年前にiOS6になってViewControllerの回転処理が大きく変更となりました
その際、NavigationControllerの回転をCategory(SwiftではExtension)して回転処理を上書きしちゃうというものを書いておりました


あれから8年たって同様の対応をもはやおまじないのように入れておりましたが
別チームのメンバーからXCodeでDebug実行時で意図しない回転をするが、
Macと切断してアプリ単体で動作させると意図通りの回転をする という謎の報告をうけました

構成は
UIWindowのRootViewControllerはUITabBarController
UITabBarControllerの下にUINavigationControllerがあり
その下にViewControllerが連なっているものでした

Debug実行時にBreakを仕込んでみてみると
ViewControllerの「supportedInterfaceOritentations」メソッドにBreakしません
→コールされていない

一つ上のNavigationControllerのExtensionに実装している「supportedInterfaceOritentations」メソッドにもBreakしません
根本的にTabBarControllerのExtensionに実装している「supportedInterfaceOritentations」メソッドにもBreakしませんでした

たたみます

続きを読む