2017-07-14 13 views
1

ユーザ通知アラートのカスタム振動パターンを作成できますか?たとえば、ユーザー通知に異なる音声を使用することを選択できます。カスタム振動パターンも可能ですか?ユーザ通知:カスタム振動パターン

これは、iOSでswiftを使用してプログラムで行うことを意味します。

答えて

0

iOSでカスタム振動を作成します。 AudioServicesPlaySystemSoundWithVibrationおよびAudioServicesStopSystemSoundを使用します。

ハートは振動例に

NSMutableDictionary* pulsePatternsDict = [@{} mutableCopy]; 
     NSMutableArray* pulsePatternsArray = [@[] mutableCopy]; 

     // beat for 100 times 
     for (NSInteger i=0; i<100; i++){ 
      [pulsePatternsArray addObject:@(YES)]; // vibrate for 100ms 
      [pulsePatternsArray addObject:@(100)]; 

      [pulsePatternsArray addObject:@(NO)]; //stop for 1200ms * 0.3 
      [pulsePatternsArray addObject:@(1200*0.3)]; 

      [pulsePatternsArray addObject:@(YES)]; //vibrate for 100ms 
      [pulsePatternsArray addObject:@(100)]; 

      [pulsePatternsArray addObject:@(NO)]; //stop for 1200ms * 0.5 
      [pulsePatternsArray addObject:@(1200*0.5)]; 
     } 

     [pulsePatternsDict setObject:pulsePatternsArray forKey:@"VibePattern"]; 
     [pulsePatternsDict setObject:[NSNumber numberWithInt:1.0] forKey:@"Intensity"]; 

     AudioServicesPlaySystemSoundWithVibration(kSystemSoundID_Vibrate, nil, pulsePatternsDict); 

ビートしかし、唯一の振動が停止することはありませんようになります(AudioServicesPlaySystemSoundWithVibration)これを呼び出します。だから私はそれを止めるためにいくつかの機能を見つけなければならない。

答えはAudioServicesStopSystemSoundです。 AudioToolboxフレームワークのプライベート関数です。 iOSの9とiOS 9.1には公共利用できるAPIは現在ありませんiOS6

でのみ使用可能ですAudioServicesPlaySystemSoundWithVibration:NOTE

void AudioServicesStopSystemSound(SystemSoundID inSystemSoundID) 

よう

関数の宣言です。

さらにiOS 10には、UIFeedbackGeneratorという新しいAPIがあります。詳細はpostを参照してください。これはiPhone 7とiPhone 7 Plusでのみ動作します。

免責事項: Taptic Engine(iOS 9)と直接対話する方法がありますが、プライベート方法があります。 App Storeアプリケーションでは使用しないでください。

+0

このメソッドは、アプリケーションがフォアグラウンドにあるときにのみカスタムパターンを「再生」できます。私の質問は、ユーザーの通知に関連するパターンですが、アプリがフォアグラウンドにあるときは振動をしません。 – user6539552

+0

はい、バックグラウンドとフォアグラウンドでアプリが動作する場合にのみ動作します。 function application:didReceiveRemoteNotification:fetchCompletionHandler:それは、そのメソッドを呼び出すかもしれません。ユーザーがバックグラウンド更新を無効にした場合、メソッドは呼び出されません。 アプリケーションが終了状態のときにカスタム振動パターンを作成することはできません。 –

+0

この回答は私の質問とは関係ありません。 – user6539552

関連する問題