硬件音量按钮和 Swift

Posted

技术标签:

【中文标题】硬件音量按钮和 Swift【英文标题】:Hardware volume button and Swift 【发布时间】:2014-12-09 18:33:14 【问题描述】:

寻找一种推荐的方法来使用 ios 设备上的硬件音量按钮来控制应用程序功能。在这种情况下,这些按钮将用于增加或减少仓库管理应用程序中的数量字段。

在 Objective-C 中也有类似的问题,但我专门询问 Swift。

【问题讨论】:

iOS use the volume buttons as input 的可能重复项 那个问题是 2012 年的 Objective-C,我特意问的是 Swift,对 Objective-C 没有任何经验 【参考方案1】:

如果您想在 App Store 上发布您的应用,则无法执行此操作。会被拒绝;法规不允许将硬件按钮重新用于任何其他功能。

作为一个具体的例子,一些相机应用程序因使用音量增大作为相机快门而被拒绝:

您的应用程序无法添加到 App Store,因为它使用 iPhone 音量按钮以非标准方式,可能导致 用户困惑。改变 iPhone 外部硬件的行为 按钮违反了 iPhone 开发者计划许可 协议。应用程序必须遵守 iPhone 人机界面 iPhone 开发者计划许可中概述的指南 协议第 3.3.7 节

http://petapixel.com/2010/08/13/camera-shuttered-from-app-store-for-hidden-banned-feature/

编辑:由于您不需要在 App Store 上工作,我为您寻找解决方案并找到了您可以使用的旧答案。 iOS use the volume buttons as input

【讨论】:

虽然这个例子在 4 年前是正确的,但它已经像 2 年前一样发生了变化。如今,几乎所有相机应用程序都使用音量按钮来拍照。新规则是“10.5 改变标准开关功能的应用程序,例如音量增大/减小和响铃/静音开关,将被拒绝”。音量上的相机快门成为标准。不过,在 OP 案例中可能没有什么不同 App Store 接受度不是首要任务。此应用程序仅供内部使用。 相机应用程序开始使用音量按钮而没有被拒绝,因为苹果的相机应用程序实际上是从 Camera+ 那里窃取了这个想法,突然使“音量调高 = 快门”成为按钮的“标准功能”。规则本身没有改变。

以上是关于硬件音量按钮和 Swift的主要内容,如果未能解决你的问题,请参考以下文章

通过硬件按钮更改音量时投射图标

当我的应用程序运行时,硬件音量按钮不起作用

通过锁定屏幕上的硬件按钮提供对音量控制的访问

为啥音量不跟随我的 iOS 应用程序中的硬件控制?

是否可以将 iPhone 的音量控制按钮用于其他目的?

Android 自定义SeekBar动态改变 硬件音量大小 实现和音量键的同步