Отключение всех вибраций приложения

Я пытаюсь создать кнопку в своем приложении, которая поворачивает вибрации, возникающие при нажатии некоторых кнопок в приложении.

Я использовал:

AudioServicesPlaySystemSound (SystemSoundID (kSystemSoundID_Vibrate))

код для включения вибрации при определенных нажатиях кнопок - но я хочу, чтобы пользователь мог отключить вибрацию, если он этого хотел.

Есть ли способ отключить все вибрации одним способом.disable или.invalidate (эти примеры - единственный код, отменяющий вещи, о которых я мог подумать)

2 ответа

Вы можете создать один bool и сохранить его состояние NSUserDefaults затем добавить if условие для вибрации вот так:

if allowVibration {

    AudioServicesPlaySystemSound(SystemSoundID(kSystemSoundID_Vibrate))
}

И он не войдет в это, если условие, если allowVibration является false,

Использование NSUserDefaults хранить bool это отслеживает, играть или нет вибрацию. Если вы не хотите отслеживать это между сеансами приложения, просто используйте bool,

// Get NSUserDefaults
let defaults = NSUserDefaults.standardUserDefaults()

// Some button that would turn off vibration
@IBAction func turnVibrateOff(sender: AnyObject) {
    defaults.setBool(false, forKey: "vibrate")
    NSUserDefaults.standardUserDefaults().synchronize()
}

// Some button that would turn on vibration
@IBAction func turnVibrateOn(sender: AnyObject) {
    defaults.setBool(true, forKey: "vibrate")
    NSUserDefaults.standardUserDefaults().synchronize()
}

// Then just check against the key we've created
func shouldWeVibrate() {
    if defaults.boolForKey("vibrate") {
        // Vibrate
    }
}
Другие вопросы по тегам