🚏
【iOS 17】スタンバイモードについて調べたことのメモ
スタンバイモードの実装方法について調べたことに関するメモです。
スタンバイモードとは
iPhoneを横向きで充電している時に、フルスクリーンでウィジェットを表示することができる機能です。iOS 17以降のOSをインストールしたiPhoneで使用することができます。
実装方法
スタンバイモード時にウィジェットを表示するための特別な実装は不要でした。Widget Extensionが追加されたプロジェクトを、Xcode 15.0以降の環境でビルドするだけで、スタンバイモード時にウィジェットを表示することができるようになります。
iPhoneシミュレータでの動作確認方法
iPhoneシミュレータをアクティブにした状態で、メニューバー[Features] -> [Show StandBy]の順に選択することで、起動中のiPhoneシミュレータをスタンバイモードに変更することができます。
さらに、iPhoneシミュレータをアクティブにした状態で、メニューバー[Device] -> [Rotate Left]の順に選択することで、実機でスタンバイモードに変更した時と同様の状態に変更することができます。
スタンバイモード状態でディスプレイをロングタップすると、スタンバイモード時に表示するウィジェットを指定することができます。
スタンバイモード時のウィジェットを無効化する方法
iOS 17以降から使用可能なdisfavoredLocations(_:for:)
を使用することで、スタンバイモード時のウィジェットを無効化することができます。
また、disfavoredLocations(_:for:)
を使用することで、スタンバイモードだけではなく、ホームスクリーンやロックスクリーンモードでのウィジェット表示を無効化することもできます。
参考資料
・disfavoredLocations(_:for:)
Discussion