버전별 적용 방법

if #available(iOS 9.0, *) {
     if (traitCollection.forceTouchCapability == UIForceTouchCapability.Available) {
          //configure force touch
     } else {
         // Fallback on earlier versions
}

Guard

가용성 확인 기능#available을 사용할 때guard와 함께 적용하는 것이 더 좋을 것입니다.

아래의 코드는 iOS 9 이상의 버전에서 구동되지 않을 경우 이 함수에서는 아무 일도 하지 않고 그대로 리턴되도록 합니다.

func configureForceTouch() {
     guard #available(iOS 9.0, *) else {
          return
     }

     if (traitCollection.forceTouchCapability == UIForceTouchCapability.Available) {
         //configure force touch
     }        
}

클래스와 메서드

클래스와 메서드의 가용성을 확인할 때에는#available대신에@available을 사용합니다.

@available(iOS 9.0, *)
func configureForceTouch() {
    if (traitCollection.forceTouchCapability == UIForceTouchCapability.Available) {
        //configure force touch
    }    
 }

그 외의 플랫폼에서

아래의 예제는 iOS 이외의 다른 플랫폼에서의 가용성을 확인하는 코드입니다.

if #available(iOS 9.0, OS X 10.10, *) {
    // runs on iOS 9 and OS X 10.10
}

if #available(OSX 10.0, iOS 9, watchOS 2, tvOS 1, *) {
     // runs on OS X 10.0, iOS 9, watchOS 2 and tvOS 1
}

results matching ""

    No results matching ""