ottijp blog

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

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

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

参考


ottijp
都内でアプリケーションエンジニアをしています
© 2026, ottijp