有没有办法通过iOS 7中的代码关闭手机上的铃声(使iPhone静音)?
我发现AppStore中有一个应用程序具有关闭手机铃声的逻辑,即使iPhone铃声开关设置为开启也是如此。 https://itunes.apple.com/us/app/silentalert/id506092189?mt=8
非常感谢某些代码或某些参考。我经历了许多Stack-overflow post而没有太大的成功。
答案 0 :(得分:7)
首先,你能说明你已经尝试过的东西而且你还没有能够工作吗?
另见this related and possibly duplicate StackOverflow Question。其中说这是不可能的,然后提到Apple AppStore不会批准的私有API。
有关私有API的详细信息,请参阅this StackOverflow Question。
具体而言,您需要从Celestial Private API或AVController中的setMuted调用toggleActiveCategoryMuted,但这很可能会被Apple拒绝提交给AppStore。
基于阅读API文档,我相信引用的应用程序的工作方式是将AVAudioSessionCategory设置为AVAudioSessionCategoryAudioProcessing并使其自身成为活动会话。
如果当应用程序变为后台并且您想要请求更多时间时,这不会继续静音,请参阅this StackOverflow Question。或者,请查看this code example和supporting blogpost等重复播放静音的内容。注意Apple应用程序商店评论显然也对这种方法不满。代码实际上是一个更新的fork,它应该在新的iOS版本上运行得更好。
它还具有作为后台应用程序,在后台播放音乐/静音以及处理中断的所有处理。使用位置服务可能是因为它可以使用(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
来使用区域监控或重要更改位置服务来触发应用程序重新启动。
概念的代码示例链接如下:
<强>参考文献:强>