Swiftでメソッドの実装をiOSバージョンごとに分ける・無くす方法
お世話になります。
iOS10と9に対応したいアプリの通知処理を作っています。
iOS9ではフォアグラウンドのとき通知が表示されないので通知の受信を
application(_ application: UIApplication, didReceive notification: UILocalNotification)
を使って制御してバックグラウンドと同じような通知を表示しようとしています。
しかしこれはDeprecatedなメソッドだそうでiOS9のみで実装するようにしたいです。
@available(iOS 10.0より古い, *)
といった感じの指定がしたいのですがそういった事はできるのでしょうか?
修正
現状はメソッドの中でバージョンを判定して処理を分けるようにしました。
func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void)
を実装している状態でiOS9ではフォアグラウンドで通知が来た時とバックグラウンドで通知表示を押して戻った時、
iOS10ではフォアグラウンド、バックグラウンド時の通知表示をタップした時、
func application(_ application: UIApplication, didReceive notification: UILocalNotification)
が呼ばれ、これはiOS9でしか使う予定がないのでこの下のメソッドをiOS10より前でのみこの内容で実装するということは出来ないでしょうか?