2017-10-01 3 views
0

스위프트 라이브러리를 구축 중입니다. 내 라이브러리에서는 DateInterval을 포함하는 구조체를 정의합니다. 내 라이브러리를 빌드 할 때스위프트 : 버전 검사 수행을 피하는 방법

struct A { 
    let date = DateInterval() 
} 

그러나, 나는 다음과 같은 오류가 나타날 수

'DateInterval' is only available on OS X 10.12 or newer'

은 그래서 구조체에 @available(OSX 10.12, *) 속성을 추가했다.

내가 구조체의 인스턴스를 만들 때마다 문제는 지금, 나는 버전 확인을 수행하도록 강요하고있다

: 나는 이전에 10.12에 맥 OS의 버전에서 실행 내 라이브러리가 필요하지 않습니다

if #available(OSX 10.12, *) { 
    let foo = A() 
} else { 
    // Fallback on earlier versions 
} 

을; 이 구조체를 사용할 때마다 성가신 버전 검사를 수행 할 필요가 없도록 컴파일러에이를 표시하는 방법이 있습니까?

답변

2

프로젝트 설정에서 라이브러리의 배포 대상을 macOS 10.12로 변경해야합니다.

Deployment Target changed to 10.12

+0

나는이 질문이 중복되지 않습니다. – JAL

+0

하나 일 수 있습니다. 비록 내가 명백한 사본에 대답하는 것에 찬성하지는 않지만, 질문은 그것이 속임수가 아닌 방식으로 대답 될 수있는 형태로 요청됩니다. – the4kman