[iOS] available

z-wook·2023년 7월 13일
post-thumbnail

어떤 기능 또는 디자인을 넣고 싶은데 꽤 높은 버전에서만 지원을 하는 경우가 생겼습니다. 정말 넣고 싶은데... 낮은 버전을 위해 기능이나 디자인을 빼기는 아쉬울 땐? 버전별로 다른 조건을 걸어주면 됩니다!
이때 사용하는 것이 #available@available입니다.


#available

#available은 해당 버전을 포함하여 그 이상의 버전인지 체크를 합니다.
사용할 때 if, guard, while, case 문을 사용해서 특정 버전 이상일 때 처리를 해주면 됩니다.

예시 )

func userNotificationCenter(
        _ center: UNUserNotificationCenter,
        willPresent notification: UNNotification,
        withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void
    ) {
        if #available(iOS 14.0, *) { // iOS 14.0 이상
            completionHandler([.banner, .list, .badge, .sound])
        } else { // iOS 14.0 미만의 버전
            completionHandler([.badge, .sound])
        }
	}

@available

@available은 함수, 클래스, 구조체, 프로토콜 앞에 붙어서 OS 및 버전을 제한하는 역할을 합니다.
아래와 같이 함수에 제한 가능합니다.

예시 )

@available(iOS 14.0, *)
func test() {
	print("Test")
}
profile
🍎 iOS Developer

0개의 댓글