ios 런타임 호환성 체크

플랫폼 지오메트리 확인

if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) ...

배포 플랫폼 확인

모델 프로퍼티를 활용해서 실행되는 환경을 알 수 있음

if ([[UIDevice currentDevice].model is EqualToString:@"iPad"]) ...

시스템 프리픽스 확인

현재 시스템 버전을 확인 가능

if ([[[UIDevice currentDevice] systemVersion] hasPrefix:@"5."]) ...

키-값(key-value)코딩에서 사용하는 프로퍼티 확인

주어진 키에 값을 제대로 제공하는지 확인 할 수 있는 방법

UILabel *label = (UILabel *)[cell valueForKey:@"textLabel"];
if (label) [label setText:celltext];

클래스의 존재 여부를 확인

NSClassFromString을 이용해서 클래스가 자신의 이름을 사용해 객체를 만들 수 있는지 테스트 하는 방법

if (NSClassFromString(@"NSAttributedString")) ...

함수의 존재 여부를 확인

함수 호출 시도 전에 함수를 테스트하는 방법

if (&UIGraphicsBeginImageContextWithOptions != NULL) ...

셀렉터 사용 규칙 준수 여부를 확인

셀렉터에 반응하는지 확인 하는 방법

if ([cell respondsToSelector:)]) ...