IOS6에서 배포하던 App을 IOS7으로 업그레이드 하면서 기존의 IOS6이하 버젼의 해상도를 지원하기 위해서는 디자인에 필요한 이미지들을 실행되는 디바이스에 맞게 변경해주어야 합니다.
IOS7 가이드에 나온 리소스를 적절하게 변경할 때 사용하면 좋은 메크로를 소개합니다.
현재 실행되는 IOS의 버젼을 확인하여 버젼에 따라 적용되어야 하는 로직이나 리소스를 관리하는데 유용하게 사용할 것 같습니다.
NSUInteger DeviceSystemMajorVersion();
NSUInteger DeviceSystemMajorVersion() {
static NSUInteger _deviceSystemMajorVersion = -1;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
_deviceSystemMajorVersion = [[[[[UIDevice currentDevice] systemVersion] componentsSeparatedByString:@"."] objectAtIndex:0] intValue];
});
return _deviceSystemMajorVersion;
}
#define MY_MACRO_NAME (DeviceSystemMajorVersion() < 7)
기존 UIKit의 많은 컴포넌트들이 변경되면서 API가 추가되거나 변경되었습니다.
IOS6와 호환되도록 하기 위해서 많은 로직의 변경이 필요할 것 같은데, AutoLayout을 적용하여 개발하였거나 기존 컴포넌트를 심플하게 사용한 경우에는 크게 공수가 들지는 않을거라고 합니다.
IOS7에서는 IOS6의 컴포넌트로 개발이 되어있어도 자동으로 IOS7의 컴포넌트의 디자인으로 표시되도록 OS에서 지원해준다고 합니다.
'----- IT ----- > IOS' 카테고리의 다른 글
Apple Swift Programming Language 번역링크 (0) | 2014.06.06 |
---|---|
IOS7 지원 디바이스 (0) | 2013.06.15 |
IOS 7 새로워진 디자인 비교 (0) | 2013.06.14 |
IOS 이미지 해상도 (0) | 2013.03.02 |
댓글