mirror of
https://github.com/SideStore/SideStore.git
synced 2026-02-08 22:33:26 +01:00
45 lines
889 B
Swift
45 lines
889 B
Swift
//
|
|
// UIDevice+Vibration.swift
|
|
// AltStore
|
|
//
|
|
// Created by Riley Testut on 9/1/21.
|
|
// Copyright © 2021 Riley Testut. All rights reserved.
|
|
//
|
|
|
|
import AudioToolbox
|
|
import CoreHaptics
|
|
|
|
private extension SystemSoundID
|
|
{
|
|
static let pop = SystemSoundID(1520)
|
|
static let cancelled = SystemSoundID(1521)
|
|
static let tryAgain = SystemSoundID(1102)
|
|
}
|
|
|
|
extension UIDevice
|
|
{
|
|
enum VibrationPattern
|
|
{
|
|
case success
|
|
case error
|
|
}
|
|
}
|
|
|
|
extension UIDevice
|
|
{
|
|
var isVibrationSupported: Bool {
|
|
return CHHapticEngine.capabilitiesForHardware().supportsHaptics
|
|
}
|
|
|
|
func vibrate(pattern: VibrationPattern)
|
|
{
|
|
guard self.isVibrationSupported else { return }
|
|
|
|
switch pattern
|
|
{
|
|
case .success: AudioServicesPlaySystemSound(.tryAgain)
|
|
case .error: AudioServicesPlaySystemSound(.cancelled)
|
|
}
|
|
}
|
|
}
|