현재의 Mac OS X 버전을 체크하려면 NSProcessInfo 의 operatingSystemVersionString 를 사용할 수 있다.
@property(readonly, copy) NSString *operatingSystemVersionString |
NSProcessInfo Class Reference 도큐먼트를 읽어보면 operatingSystemVersionString의 값은 언어에 따라 값이 달라지는 값으로 보이며 따라서 Parsing에 적합하지 않다고 되어 있다.
만약 Mac OS X 10.10이상에서 버전 체크를 하려면 operatingSystemVersion 를 사용하면 된다.
@property(readonly) NSOperatingSystemVersion operatingSystemVersion |
아래의 예제는 operatingSystemVersionString를 이용해서 현재의 Mac OS X 버전이 10.7 이상인지 체크하는 예제이다. 한국어나 영문에서는 이상없이 돌아가는 것으로 보이나, 다른 언어에서는 이상이 없는지 확인이 필요하다.
NSProcessInfo* pInfo = [NSProcessInfo processInfo]; NSString* macOSVersion = [pInfo operatingSystemVersionString];
NSArray* versionStringComponents = [macOSVersion componentsSeparatedByString:@" "]; if (versionStringComponents == nil || [versionStringComponents count] < 2) { NSLog(@"Error : versionStringComponents"); return NO; }
NSString* version = [versionStringComponents objectAtIndex:1]; NSArray* versionComponents = [version componentsSeparatedByString:@"."]; if (versionComponents == nil || [versionComponents count] < 2) { NSLog(@"Error : versionComponents"); return NO; }
NSInteger majorVersion = [[versionComponents objectAtIndex:0] integerValue]; NSInteger minorVersion = [[versionComponents objectAtIndex:1] integerValue]; NSLog(@"majorVersion = %ld, minorVersion = %ld", majorVersion, minorVersion);
if (minorVersion < 7) { // MacOS 10.7 미만 NSLog(@"이 프로그램은 MacOS 10.7 미만은 지원하지 않습니다."); return NO; }
NSLog(@"이 프로그램은 MacOS 10.7 이상입니다."); return YES; |
Copyright © 2015 by ZAMCOM, All rights reserved.
'Mac&iOS' 카테고리의 다른 글
Apple 오픈 소스 사이트 (0) | 2015.02.16 |
---|---|
번들에 포함된 html 파일을 safari로 열기 (0) | 2015.02.16 |
Mac OS에서 윈도우 레지스트리와 비슷한 NSUserDefaults 사용하기 (0) | 2015.02.12 |
NSDisplayOperationStack crash문제 (0) | 2015.02.11 |
unzip command를 이용한 압축 해제 (0) | 2015.02.08 |