LoginSignup
19
21

More than 5 years have passed since last update.

iPhoneで短いバイブレーションを鳴らす方法

Last updated at Posted at 2016-10-18

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などを使うことで「ブッブー」というパターンのバイブレーションも鳴らすことができます.

当然ながら,普通のバイブレーションも短いバイブレーションも,設定>サウンド>バイブレーションの設定次第では鳴りません.

参考

19
21
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
21