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

问题描述 投票:9回答:1

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

在我的应用程序中,我需要显示和更新当前的音量级别。在按下硬件音量按钮后和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的经验已提交/拒绝?

非常感谢任何信息!

ios avfoundation appstore-approval nsnotificationcenter iphone-privateapi
1个回答
1
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.