【问题标题】:Application lifecycle wrong when I change statusBarOrientation更改 statusBarOrientation 时应用程序生命周期错误
【发布时间】:2018-04-19 04:45:36
【问题描述】:

当我打电话给UIApplication.shared.setStatusBarOrientation(.landscapeRight, animated: true)

应用程序进入后台并返回,打印

“ApplicationWillResignActive”

“ApplicationDidBecomeActive”

“ApplicationWillResignActive”

“ApplicationDidBecomeActive”

为什么?我只有两个动作

@objc fileprivate func handleApplicationWillResignActive() {
    debugPrint("ApplicationWillResignActive")
    if self.playerPlayStatus == .playing {
        self.currentPlayTime = self.player.currentTime()
        self.player.pause()
    }
}

@objc fileprivate func handleApplicationDidBecomeActive() {
    debugPrint("ApplicationDidBecomeActive")
    switch self.playerPlayStatus {
        case .pause:
            self.player.seek(to: self.currentPlayTime, toleranceBefore: kCMTimeZero, toleranceAfter: kCMTimeZero, completionHandler: { (finished) in
                if finished {
                    self.player.play()
                }
            })
        default: break
    }
}

【问题讨论】:

  • 显示你尝试过的代码
  • 我认为这是苹果创建的错误?虽然我调用了已弃用的函数

标签: ios swift notifications


【解决方案1】:

ApplicationWillResignActive 和 Background 都是不同的东西。甚至前台应用程序中的应用程序也可能变为非活动状态。 所以请简述,你想做什么?

【讨论】:

  • 后台暂停播放时,前台播放
  • 问题的关键是我只有两个动作,但是你看到输出内容
  • 在进入后台方法中暂停并在ApplicationDidBecomeActive中播放
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-19
  • 1970-01-01
  • 2011-06-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多