2015-02-05 6 views
2

코드에서 기본 SDK의 버전을 얻으려면 어떻게해야합니까? 현재 Xcode 6에서 iOS 용으로 구축 중이며 기본 SDK 8.1을 사용 중입니다. SDK를 테스트하여 다른 기본 SDK를 사용하여 빌드 할 수 있도록 SDK의 가치에 대한 정의가 있는지 알고 싶습니다.코드 XCode 기본 SDK 버전

+0

내가 틀렸을 때 정정하십시오. 그러나 최신 SDK를 사용하여 스토어에 제출해야합니다. 왜 기본 SDK를 변경하겠습니까? 다른 배포 대상을 원하십니까? – Teddy

+0

아니요, 다른 배포 대상에 대해 이야기하는 것이 아닙니다. 나는 새로운 기본 SDK를 설치하지 않고도 XCode 5와 6에서 프로젝트를 만들 수 있도록 프로젝트를 만들도록 요청 받았다. 그 가치를 얻는 방법을 알고 있습니까? – Scorpio

+0

AFAK이 경우 xcode 6와 함께 xcode 5를 설치하고 xcode-select를 사용하여 두 언어를 전환해야합니다. 그러나 몇 가지 문제가 발생할 수 있습니다. 나는 결코 나 자신을 시도하지 않았다. – Teddy

답변

1

__IPHONE_OS_VERSION_MAX_ALLOWED (기본 SDK 버전과 동일한 버전)를 사용하여 수행 할 수 있습니다. 이는 __IPHONE_8_0과 비교할 수 있습니다. 여기서 8_0은 iOS 릴리스입니다.

예를 들어,이 시점에서 baseSDK 8.0 또는 8.1을 사용할 수 있습니다.

1

NSFoundationVersionNumber의 값을 확인하여 코드가 실행중인 현재 Foundation 프레임 워크의 버전을 확인할 수 있습니다.

NSObjCRuntime.h을 확인하면 다양한 버전 번호가 나열되어 있습니다.

다른 버전의 SDK에 대한 빌드와 관련하여; 마감 날짜가 적용되면 최신 SDK를 기반으로 구축하지 않으면 애플은 앱 스토어 업로드를 중단합니다. 즉, 제출 된 새 앱은 iOS 8 SDK를 기반으로 구축되어야합니다.

그러나 할 수있는 일은 iOS 배포 대상입니다 (프로젝트 설정에서 찾을 수 있음). 이렇게하면 앱이 이전 iOS 버전에서 실행될 수 있지만 최신 SDK와 비교하여 빌드됩니다. 현재 환경에서 API를 지원하는지 확인하지 않고 새 API를 사용하지 않도록하는 것은 사용자의 책임입니다. UITextField's selectable 속성 iOS 6에서 실행되는 동안 앱을 호출하면 앱이 다운됩니다.

+0

최신 기본 SDK에 대해 빌드되지 않은 앱이 승인되지 않도록하는 공식 규칙을 찾을 수 없습니다. 그 링크를 제공 할 수 있습니까? – Scorpio

+0

애플 서클에서 꽤 널리 보도되고 있습니다 : https://developer.apple.com/news/?id=01192015a – MultiColourPixel

+0

고마워요. 나는 아직 "애플 서클"에 있지 않습니다. 그 게시물을 보았지만 제대로 이해하지 못했습니다. (__IPHONE_OS_VERSION_MAX_ALLOWED <__IPHONE_8_0을 사용하여 원하는 것을 추가하는 방법을 찾았지만 필요 없다고 생각하기 시작했습니다. 감사합니다! – Scorpio