2017-02-16 3 views
1

이전 iOS 버전에서 응용 프로그램을 개발 한 경우 나중에 많은 클래스와 메서드가 더 이상 사용되지 않으면 ... 내 응용 프로그램이 모든 버전에서 실행되도록하려면 어떻게해야합니까?비추천을 극복하는 방법?

기본 해결 방법은 다음과 같습니다. ....

if (NSClassFromString(@"NewClass")){ 
    NewClass *try=[NewClass new]; 
    [try print1new]; 
    }else{ 
     OldClass *try1=[OldClass new]; 
     [try1 print1]; 
    } 

하지만 난이 곳의 많은에 사용되지 않는 방법을 사용했기 때문에 나는 각각의 모든 일을 수정하지 못할 : 그 약하게 연결된 클래스 개념을 만들어 사용 같은 ...입니까 ?? 클래스가 존재하는지 여부를 확인 ... 오래된 코드에서 최소한의 변경으로 비추천을 극복 할 수있는 해결책이 있습니까?

+0

이전 iOS 버전을 지원하는 것이 얼마나 중요합니까? – Thilo

+1

이보다 버전 검사가 훨씬 낫습니다 .. – KrishnaCA

+0

다시 버전 검사는 어디에서 deprecated 메소드가 발생했는지 반복적으로 수행해야합니다 ... 맞습니까? @KrishnaCA – user2017

답변

4

당신은 정말로 할 수 없습니다. 지원 중단은 OS 버전이 진행됨에 따라 발생합니다. 최신 2, 어쩌면 3 버전에서 실행되는지 확인하는 것이 좋습니다. iOS10, iOS9 & iOS8.

iOS7 또는 그 이전 버전에서도 계속 실행되는 기기가있는 사람들은 거의 없습니다. 그리고 AppStore에는 최신 호환 버전의 응용 프로그램을 다운로드 할 수있는 깔끔한 기능이 있습니다 (응용 프로그램이있는 경우).

이렇게하면 현재 버전에 집중할 수 있으며 모든 방법에서 15 번의 버전 확인이 이루어 지므로 코드가 부풀어 오르는 것을 막을 수 있습니다. 따라서 오류 발생 가능성이 줄어 듭니다.