WEBサイト制作・アプリ開発・システム開発・ブランディングデザイン制作に関するご相談はお気軽にご連絡ください。
構想段階からじっくりとヒアリングし、お客様の課題にあわせたアプローチ手法でお客様の“欲しかった”をカタチにしてご提案いたします。
Blog スタッフブログ
iOS
Swift
システム開発
ひとくちコードスニペット
[Swift]アプリがアクティブ状態になった時通知するコードスニペット
こんにちは、株式会社MIXシステム開発担当のBloomです。
今回はSwiftで利用できるアプリがアクティブ状態になった時ViewControllerなどへ通知するコードスニペットを紹介します。
extension Notification.Name {
static let applicationDidBecomeActive = Notification.Name("applicationDidBecomeActive")
}
func applicationDidBecomeActive(_ application: UIApplication) {
NotificationCenter.default.post(name: Notification.Name.applicationDidBecomeActive, object: nil)
}
@available(iOS 13.0, *)
func sceneDidBecomeActive(_ scene: UIScene) {
NotificationCenter.default.post(name: Notification.Name.applicationDidBecomeActive, object: nil)
}
override func viewDidLoad() {
super.viewDidLoad()
NotificationCenter.default.addObserver(self, selector: #selector(applicationDidBecomeActive(_:)), name: Notification.Name.applicationDidBecomeActive, object: nil)
}
@objc func applicationDidBecomeActive(_ notification : Notification) {
}
iPadOSの導入以降SceneDelegateのsceneDidBecomeActiveにより通知されるケースがiPhoneでも基本になっているようです。AppDelegateから通知されるケースは少ないようですが一応実装しておきましょう。