SwiftでiPhoneを振動させる方法!触覚フィードバックの実装手順を解説
Swiftを使ってiPhoneを振動させるには、主に2つの異なる手法があります。この記事では、その両方のコード例とともに、初心者にもわかりやすく実装手順を解説していきます。
プロジェクトの準備
まず、Xcodeで新しいプロジェクトを作成し、メインのビューコントローラーに4つのボタンを配置しましょう。それぞれのボタンに、異なる種類の振動パターンを割り当てていきます。
AudioToolboxフレームワークをインポートする
最初の振動方法ではシステムサウンドサービスを使用するため、ビューコントローラークラスの冒頭でAudioToolboxフレームワークをインポートしておく必要があります。
import AudioToolbox
方法1:長めの振動フィードバックを発生させる
1つ目のボタンにはアクションを追加し、以下のようなコードを記述します。
@IBAction func actionButtonOne(_ sender: Any) {
AudioServicesPlayAlertSound(SystemSoundID(kSystemSoundID_Vibrate))
}
kSystemSoundID_Vibrateは、iPhone標準の着信時と同じような振動パターンを呼び出す定数です。このコードを実行すると、デバイスが比較的長い時間振動し、はっきりとした触覚フィードバックを得ることができます。
方法2:UIImpactFeedbackGeneratorで細かい振動を制御する(iOS 10以降)
iOS 10以降のデバイスでは、より繊細な振動表現が可能になったUIImpactFeedbackGeneratorクラスを使用できます。こちらは残りの3つのボタンに実装していきます。
@IBAction func actionButtonTwo(_ sender: Any) {
let generator = UIImpactFeedbackGenerator(style: .heavy)
generator.impactOccurred()
}
@IBAction func actionButtonThree(_ sender: Any) {
let generator = UIImpactFeedbackGenerator(style: .light)
generator.impactOccurred()
}
@IBAction func actionButtonFour(_ sender: Any) {
let generator = UIImpactFeedbackGenerator(style: .medium)
generator.impactOccurred()
}
上記の3つのメソッドでは、UIImpactFeedbackGeneratorを使って、強さの異なる3種類のインパクトフィードバックを生成しています。
- .heavy … 重く力強い振動
- .light … 軽やかで短い振動
- .medium … 中程度のバランスの取れた振動
実機での確認方法
アプリケーションを実機でビルドして起動し、各ボタンをタップしてみましょう。ボタンごとに異なる強さの振動を体感できるはずです。
なお、振動フィードバックは物理的な反応であるため、シミュレータ上では結果を確認できません。必ず実機(iPhone)を使ってテストしてください。また、Taptic Engineを搭載していない古いデバイスでは、一部の振動スタイルが正しく再現されない場合がある点にも注意が必要です。
-
【DIY】フェルトとグルーガンで作るiPhone・iPad手作りケースの作り方
iPhoneやiPadは美しいデバイスですが、床に落としてしまうと簡単に傷ついてしまう繊細な一面も持っています。だからこそ、多くのユーザーがケースで保護しているのです。現在販売されているケースは、ほとんど存在感のないミニマルな薄型タイプから、かなり個性的なデザインまで実に多彩。しかし、自分らしさを本当に表現したいなら、いっそオリジナルのケースを手作りしてみてはいかがでしょうか? 今回ご紹介するのは、最小限の道具と数分の作業で完成するシンプルな手作りケースのデザインです。少し空き時間があって、手作りに挑戦してみたい方にぴったりの内容となっています。 関連記事:iPhoneのおすすめアクセサリー|
-
Windows PCからiPhoneを操作する方法|AirServer・Veencyの使い方を徹底解説
現代はテクノロジーが大きく進歩し、生活のあらゆる場面にデジタル機器が浸透しています。スマートフォン1つで照明や冷蔵庫、ホームセキュリティシステムまで操作できる時代です。その先頭を走っているのがAppleであり、自宅にApple製品のエコシステムを構築すれば、すべてのデバイスを連携させて最高レベルの利便性を享受できます。 しかし、iPhoneを持っていてもMacBookを所有していないユーザーにとっては状況が少し異なります。WindowsノートPCを使用していると、iPhone上の操作状況を把握するのがなかなか容易ではありません。Androidスマホであれば、対応アプリが豊富に存在するため、Wi