AudioServicesPlayAlertSoundのドキュメントでは、サウンドの再生時に振動を無効にできると書かれています。
iPhone—指定されたサウンドを再生します。ユーザーがリングのバイブレーション用に設定アプリケーションを構成している場合、バイブレーションも呼び出されます。ただし、アプリのオーディオ セッションが AVAudioSessionCategoryPlayAndRecordまたは AVAudioSessionCategoryRecord オーディオ セッション カテゴリで構成されている場合、デバイスは振動しません。
しかし、iPhone 4S (iOS 5.1.1) で、カテゴリを「再生と録音」に設定した後でも振動を感じます。鳴ると同時に振動します。
#import <AudioToolbox/AudioServices.h>
#import <AVFoundation/AVAudioSession.h>
NSError* error;
[[AVAudioSession sharedInstance]
setCategory:AVAudioSessionCategoryPlayAndRecord
error:&error];
if (error == nil) {
AudioServicesPlayAlertSound(1000);
}
も試しましAudioServicesPlaySystemSound
たが、結果は同じです。バイブレーションを無効にしたい理由は、ユーザーが電話を遠くに置く必要があり、振動によって電話が倒れないようにするアプリを作成しているためです。