質問: iPhoneの電源ボタンが押され、画面がロックされる時に実行されるメソッドはSwiftで実装可能でしょうか 以下、実装したい挙動 ---------- アプリをインストール 一度立ち上げる 他アプリに移動する(バックグラウンドに入る)場合は実行されない 電源ボタンで画面がロックされたときに初めて実行 一度ロックが解除されまたロックされると再度実行
回答: 誰かからよいアイデアが出るかと思って回答を入れるのを控えていましたが、画面のロックを検出する方法は、やはりないと思います。Appleは、主にユーザーのプライバシー保護観点で、一般のアプリが別のアプリの状態や端末の設定状況を自由に取れないよう、OSレベルでいろいろ機能制約を課している部分が多いです。(それがユーザーに安心感を与えるメリットにもなっています。) というか、画面ロックにしてもホーム画面に戻るにしても他アプリ起動にしてもバックグラウンドに移行することは一緒なので、そこを区別して動作したいというのがなぜなのか(画面ロックのタイミングで何をしたいのか)を具体的に説明すると、何かよいアドバイスしてくれる人が現れるかもしれません。