Files
SideStore/AltStore/Extensions/UIDevice+Vibration.swift
Riley Testut 9c72b7ae8f Adds "Enable JIT" context menu action for active apps
Allows users to manually enable JIT for apps that don't explicitly support AltKit.
2021-09-03 13:57:15 -05:00

47 lines
933 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)
}
@available(iOS 13, *)
extension UIDevice
{
enum VibrationPattern
{
case success
case error
}
}
@available(iOS 13, *)
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)
}
}
}