結論からお伝えすると
splitViewController使用時
ホームボタンを押してバックグラウンドにいく度にmasterViewが裏で
呼ばれる現象が起きます。
【経緯】
上記のような組み合わせで画面を作成したのですが、
tabBarの最初のアイテムを選択した状態でホームボタンを押し
アプリがバックグラウンドに回った時に
なぜか裏でtabBarの2つ目が勝手に呼ばれ、viewControllerのviewDidLoadが呼ばれる
現象に遭遇しています。
(再度アプリを立ち上げると1目のアイテムの画面が表示されたまま)
viewDidLoadで子Viewを表示する処理があるので上記の症状が原因でクラッシュしてしまいます。
おかしいと思いサンプルで同じ画面構成で試すと
同じ現象が起こったので仕様またはバグということでしょうか。
ちなみにxcode 10.4 でも10.3でも同じ状況でした。
xcode9.3だと発生せず。
シミュレーター 11.3 12.4 発生する 実機 12.2発生する
シミュレーター 11.3発生せず
試したことの詳細
1.同じ画面構成でサンプル作成 → 一緒
2.ホームボタンでホームに戻るたびに呼ばれることを確認
3.splitViewControllerのカスタムクラスを作成し試すと
問題のViewControllerと同じで
splitViewControllerのViewDidLoadが呼ばれることを確認
4.どうやらsplitViewController自体がbackgroundにいくたびに呼ばれてる様子
5.splitViewControllerを使用せずtabbarだけ → 起きない
6.tabBarを使用せずsplitViewControllerだけ → 起きる
探し方が悪いのか外国のサイトでも当内容が引っかかりませんでした。
回避方法をご存知な方いらっしゃいましたら、ぜひご教示いただけると助かります。
あなたの回答
tips
プレビュー