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

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

我搜索了如何获得通知或硬件音量按钮按下事件的解决方案,并找到了许多解决方案。

例如,
iPhone Detect Volume Keys press.



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

我喜欢听NSNotificationCenter的解决方案,似乎最简单明了的解决方案是听AVSystemController_SystemVolumeDidChangeNotification(而且效果很好)

但是,我想肯定要知道一件事。

此通知名称未出现在任何Apple官方文档中,并且有关于此通知用法是否将被视为“使用私有(private)API”的讨论。

据我了解,使用私有(private)API与调用私有(private)方法有关。这就是为什么不能将此通知 key 视为私有(private)API的用法(因为实际上我们将通知名称用作NSString)。

也许有人肯定知道这一点,或者有使用AVSystemController_SystemVolumeDidChangeNotification和应用程序的经验,所以提交/拒绝了?

非常感谢您提供任何信息!

最佳答案

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

10-07 19:40
查看更多