Unified API for CHHapticEngine /UIFeedbackGenerator haptic feedback and AudioToolbox vibration. Supports from iOS 13 all the way down to iOS 7.
Use Swift Package Manager though Xcode 11. Simply go to File -> Swift Packages -> Add Package Dependency...
and paste the URL of this repo.
The API is meant to be as simple as possible. First do your import:
import UniHaptic
and then simply call it:
UniHaptic().vibrate()
You can have more control by initializing the UniHaptic
class with a specific style of vibration like this (UniHaptic(style: .impact)
. The available options are:
- selection
- impact
- notification
- custom
If you don't provide any option the default will be .selection
.
You also have the option to provice specific intensity
and sharpness
to vibrate:
UniHaptic().vibrate(intensity: 0.7, sharpness: 0.7)
Sharpness is only used if UniHaptic
was initialized with .custom
style.
The above example while being simple it does not provide the lowest possible latency. To get minimal latency initialize Unihaptic in a separate call and store its instance:
class MyClass {
var unihaptic = UniHaptic()
func myFunction() {
unihaptic.vibrate()
}
}
Then when you call vibrate()
the latency will be the lowest possible as the Haptic Engine is prepared. For more information read here.
The project is in its early steps. It is perfectly usable as it is but the API might change.