更新记录
1.0.0(2026-03-20)
- 初始化 iOS 振动 UTS 插件,提供
vibrateShort。
平台兼容性
uni-app(3.7.1)
| Vue2 |
Vue3 |
Vue3插件版本 |
Chrome |
Safari |
app-vue |
app-vue插件版本 |
app-nvue |
Android |
iOS |
iOS插件版本 |
鸿蒙 |
| - |
√ |
1.0.0 |
× |
× |
√ |
1.0.0 |
- |
× |
12 |
1.0.0 |
× |
| 微信小程序 |
支付宝小程序 |
抖音小程序 |
百度小程序 |
快手小程序 |
京东小程序 |
鸿蒙元服务 |
QQ小程序 |
飞书小程序 |
小红书小程序 |
快应用-华为 |
快应用-联盟 |
| × |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
uni-app x(3.7.1)
| Chrome |
Safari |
Android |
iOS |
iOS插件版本 |
鸿蒙 |
微信小程序 |
| × |
× |
× |
12 |
1.0.0 |
× |
× |
其他
| 多语言 |
暗黑模式 |
宽屏模式 |
蒸汽模式 |
| × |
× |
× |
√ |
jt-ios-vibrator
基于 UTS + Swift 的 iOS 原生短振动反馈插件,适用于 uni-app / uni-app x 项目。
项目背景
uni官方提供的振动在ios上只有长振动,多振动几次手都麻了,然而ios的小程序上实测可以短振动,这说明ios是可以短振动的。
所以开发了一个原生插件来支持短振动。
uniapp振动接口文档:https://uniapp.dcloud.net.cn/api/system/vibrate.html#vibrateshort
提供能力
vibrateShort():短振动,优先走 UIImpactFeedbackGenerator。
iOS 限制
- iOS 没有公开且稳定的 API 可以精确控制振动持续多少毫秒。
- 本插件当前只封装短反馈,不提供长反馈能力。如果需要长振动直接使用uniapp官方api即可。
使用示例
import { vibrateShort } from '@/uni_modules/jt-ios-vibrator'
const shortResult = vibrateShort()
console.log('shortResult', shortResult)
返回结构
type VibrateResult = {
ok: boolean
code: number
message: string
degraded: boolean
api: string
}
说明:
ok === true 表示调用成功。
degraded === true 表示当前设备未走到最佳触觉 API,而是使用了降级方案。
api 会返回实际命中的原生实现,例如 UIImpactFeedbackGenerator、CoreHaptics、AudioServicesPlaySystemSound。