2010-03-05 6 views
3

iPhone OS 2.0 용으로 설계된 오래된 코드를 다루고 있습니다. 이 코드에는 iPhone 3.0에서 사용되지 않는 지침이 있습니다.아이폰 - 더 이상 사용하지 않는 기능 ... 아이폰을 추락시킬까요?

나는 아직도 2.0을 사용하고 있는지, 특별히 아이팟 터치에, 많은 고객을 가지고 있기 때문에 버전을 변경하고자 아닙니다. 지침을 업데이트하면 업데이트를 계속받을 수 없습니다.

응용 프로그램은 2.0 용으로 컴파일되며 항상 그렇게되었습니다.

일부 버그가 수정되고 새로운 기능이 추가 된 Apple 용 새 버전을 제출했습니다. 나는 항상 사과에이 응용 프로그램을 보내고 그들은 결코 불평하지 않았다. 이제 그들은 그들이 OS 3.1.3 하에서 충돌하고 있다고 말하는 어플리케이션을 거부했습니다.

나는 감독의 지시를 따라했지만 나는 어떤 충돌하고 "사용되지 않는"기능은 3.1.3에 완벽하게 작동 사용하는 코드의 일부를 볼 수 없습니다. 3.1.3 프로젝트를 컴파일

, 내가 엑스 코드에 노란색 경고가 하나 개의 명령이 3.1.3에 사용되지 않는 것을 말해 참조하십시오.

큰 질문입니다 :이 지침은 3.1.3에서 작동하며이 경고를 무시해야합니까? iPhone이 충돌 할 수 있습니까? 내 마음에

, 아이폰 OS의 모든 새로운 버전은 내가 생각하는, 2.0 컴파일 된 응용 프로그램은 최대 3.1.3 모든 버전에서 실행되며, 이전 버전과의 호환성을 다시 유지, 그래서.

위에서 보셨 듯이 3.1.3에서 테스트 해 보았는데 응용 프로그램이 완벽하게 작동합니다.

어떻게 될 수 있습니까? 어떤 아이디어?

도움을 주셔서 감사합니다.

답변

2

되지 않는 전화는 그들이에서 사용되지되었다하는 OS 릴리스에서 작동하지만, 일부 (정의되지 않은) 미래의 OS에서 작동이 중지되도록 설계되어있다. deprecation은 개발자에게 경고입니다. 코드를 변경해야합니다. 앞으로는 중단 될 것입니다. 모든 사람을 해치지 않고 API 기반을 업데이트하는 방법입니다.

요약하면 지금이 전화를 사용해도 괜찮지 만 2.x 운용성을 결정할 때 코드를 편집하고 싶을 것입니다.

+0

감사합니다. 어떤 버전이 실행 중인지 확인하고 대체 된 업데이트 된 명령을 실행하기 위해 OS> = 버전에서 더 이상 사용되지 않는 종류의 테스트를 설계 할 수 있습니까? 어떻게 할 수 있습니까? – SpaceDog

+2

'경우 ([오브젝트 respondsToSelector : @ 선택기 (는 newMethod)]) {[오브젝트는 newMethod]한다} else {[오브젝트 된 deprecatedMethod]}' – executor21

+0

감사 !!!!!!!!!! – SpaceDog

관련 문제