试图找到这个,但找不到任何提出相同问题的问题。
基本上我已经设置了我的推送通知,一切正常,并且在应用程序打开和关闭时都会收到它们。然而,我们使用的推噪很长,我不确定一旦他们按下警报上的“确定”按钮就可以取消声音。
我曾尝试使用静音拨动开关,但这似乎只是在声音开始播放的时刻发挥作用,如果它关闭声音播放,如果它打开然后它没有“T。如果我在中间切换开关,则无效。但是,如果我只是在我的应用程序中播放常规声音片段(不是推送通知声音)并使用拨动开关,那么声音就会停止/启动。
有没有办法取消声音?或者它被视为某种系统声音的不同?
编辑:过去几天我一直试图自己解决这个问题,而且我得出的结论是,没有办法取消推送警报声中音。任何人都可以确认这是绝对的情况吗?
Edit2:由于某种原因,xcode标签已被删除 - 原因是它与xcode无关。我觉得我的问题可能不明确 - 我使用xcode构建应用程序,我正在寻找一种方法来以编程方式控制是否听到推送通知声音。感谢。
答案 0 :(得分:0)
没有给出答案,经过过去几个月的尝试和失败,我只能假设这是不可能的(以防万一将来会有同样的问题)。
答案 1 :(得分:0)
对我有用: [[UIApplication sharedApplication] cancelAllLocalNotifications]
答案 2 :(得分:0)
从iOS 10开始,您可以通过调用从通知中心删除所有通知
UNUserNotificationCenter.current().removeAllDeliveredNotifications()
音频停止播放,并且所有通知均从通知中心中删除。
或者,要仅停止特定通知的声音,可以使用:
UNUserNotificationCenter.current().removeDeliveredNotifications(withIdentifiers: [String])
这将仅停止给定通知的音频,并将其从通知中心中删除。
要获取所有已传递通知的ID,请使用
UNUserNotificationCenter.current().getDeliveredNotifications { notifications in
let ids = notifications.map { $0.request.identifier }
}