iPhoneで短い「ブッ」という感じのバイブレーションを鳴らす方法です.
この実装がAppStoreの審査に通るかどうかは確認していません.(2016.10.29追記:コメントにあるように, @HihuSnow さんのアプリでは通ったようです.)
環境
- Xcode 8.0
- iPhone SE (iOS 10.0.2)
普通のバイブレーションの鳴らし方
バイブレーション用のシステムサウンド(システムサウンドID:4095=kSystemSoundID_Vibrate
)を鳴らす方法がよく紹介されています.
0.5秒くらいのバイブレーションです.
import AudioToolbox
func vibrate() {
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
}
短いバイブレーションの鳴らし方
バイブレーションの長さやパターンを制御するAPIは用意されていないようですが,メッセージアプリで表示中の相手からメッセージが来た時の音(システムサウンドID:1003)を鳴らしてすぐ止める方法で,「ブッ」というバイブレーションだけ鳴らすことができました.
0.1秒くらいのバイブレーションです.
import AudioToolbox
func shortVibrate() {
AudioServicesPlaySystemSound(1003);
AudioServicesDisposeSystemSoundID(1003);
}
同様にシステムサウンドID:1007などを使うことで「ブッブー」というパターンのバイブレーションも鳴らすことができます.
当然ながら,普通のバイブレーションも短いバイブレーションも,設定>サウンド>バイブレーション
の設定次第では鳴りません.