How to manage GKGameCenterViewController with app lifecycle?

What should an app do with an instance of GKGameCenterViewController when the app transitions to the background?

Currently, my app just leaves it in place, displayed on top in full screen. Most of the time when my app resumes to the foreground, the GKGameCenterViewController is still displayed and is functional. However, sometimes when the app resumes, the GKGameCenterViewController's view has vanished and, additionally, my app doesn't receive a GK authentication event, so effectively it is "hung". This seems to happen most often when the app has been in the background a while, such as overnight. The app is still in memory, however, not starting cold.

I would like to leave the GKGameCenterViewController/view in place when the app is backgrounded since the player may return to the game quickly and be right back where they left off. And most of the time that works. However, I need to solve the problem for the times it doesn't as I described above.

Is there any guidance on what to do with a GKGameCenterViewController (or any GK controller for that matter) when an app goes into the background?

How to manage GKGameCenterViewController with app lifecycle?
 
 
Q