iOS检测系统音量级别更改。私有API与否? AVSystemController_SystemVolumeDidChangeNotification

时间:2014-08-14 12:55:49

标签: ios avfoundation appstore-approval nsnotificationcenter iphone-privateapi

是否可以将AVSystemController_SystemVolumeDidChangeNotification NSNotification视为使用私有API(在App Store审核过程中)?

在我的应用程序中,我需要显示和更新当前音量级别。在按下硬件音量按钮后和MPVolumeView滑块中的音量更改后,应更新音量指示器。

我已经搜索了解决方案如何获取硬件按钮按钮的通知或事件,并找到了许多解决方案。

例如, iPhone Detect Volume Keys press.

How to get audio volume level, and volume changed notifications on iOS?

我喜欢听NSNotificationCenter的解决方案,似乎最简单明了的解决方案是听AVSystemController_SystemVolumeDidChangeNotification(并且它工作正常)

但我确实想知道一件重要的事情。

此通知名称未出现在任何Apple官方文档中,并且讨论了此通知用法是否将被视为"使用私有API"或不。

据我所知,使用私有API与调用私有方法相关联。这就是为什么使用这个通知密钥不能被视为私有API使用(因为实际上我们使用通知名称作为NSString)。

也许有人确实知道这一点,或者有使用AVSystemController_SystemVolumeDidChangeNotification的经验并且app已经提交/拒绝了?

非常感谢任何信息!

1 个答案:

答案 0 :(得分:0)

我知道评论中已经提到了使用KVO的替代方法。评论中还讨论了此方法的局限性。但是,最初的问题是关于使用NSNotificationCenter和AVSystemController_SystemVolumeDidChangeNotification的经验。我已经在我的应用程序中使用了此方法,但并没有被拒绝。它可以在AppStore上获得。