我的在线广播应用正在播放背景音乐。当用户听音乐并退出应用程序(进入背景)以查看其他位置时,我将GKSession拆除。这是P2P模式。当用户返回到应用程序时,我重新连接了GKSession。
这是对的吗?如果打来电话或发生其他干扰该怎么办?还杀死GKSession并重新创建?
NSNotificationCenter *defaultCenter = [NSNotificationCenter defaultCenter];
// Register for notifications when the application leaves the background state
// on its way to becoming the active application.
[defaultCenter addObserver:self
selector:@selector(setupSession)
name:UIApplicationWillEnterForegroundNotification
object:nil];
// Register for notifications when when the application enters the background.
[defaultCenter addObserver:self
selector:@selector(teardownSession)
name:UIApplicationDidEnterBackgroundNotification
object:nil];
最佳答案
您做对了。当您的应用程序处于后台模式时,所有线程都将被挂起,包括GKSession
。
当您的应用处于“非 Activity ”模式(例如,被电话打扰等)时,GKSession
仍然有效。无效表示该应用仍在前台运行,但未收到事件。
关于iphone - 如何正确处理GKSession的中断?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13499438/