微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ios – 警告“登录iTunes Store”和“电池电量不足”会暂停我的应用程序卡纸.我怎样才能取消它们?

我的应用程序中有一些音乐在AVAudioSessionCategoryAmbient下播放.现在我的问题是,当Apple弹出一个像“登录iTunes Store”的弹出窗口时,它会暂停我的音乐,但不会恢复它.值得庆幸的是,它照顾了我的SKScene ……但不是音乐.是否有某种方法可以在警报解除时进行回调?

奇怪的是,我制作的其他UIAlertViews不会对应用程序执行此操作,所以我真的不知道是什么.

暂停场景和音乐的警报列表:

>登录itunes
>电池电量低
>确认购买

解决方法

我之前遇到过类似的问题( Swift 1.2的开头).我通过观察SKScene的暂停状态解决了我的问题. SKScene有SKView类型的视图.
private var queueContext = 0

override func didMovetoView(view: SKView) {
    super.didMovetoView(view)
    self.view.addobserver(self,forKeyPath: "paused",options: .New,context: &queueContext)
}

override func observeValueForKeyPath(keyPath: String?,ofObject object: AnyObject?,change: [String : AnyObject]?,context: UnsafeMutablePointer<Void>) {
    if context == &queueContext {
        if let paused = change?[NSkeyvalueChangeNewKey] as? Bool {
            // Todo: react on paused status changes
        }
    }
    else {
        super.observeValueForKeyPath(keyPath,ofObject: object,change: change,context: context)
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐