2011-08-08 2 views
4

나는 다음 상황에서 어떤 일이 발생하는지 약간 궁금하다. iOS4를 사용하는 iTunes 스토어 (고객이있는)에 기존 앱이 있고 새로운 iOS를 사용하는 앱에 대한 업데이트를 출시합니다.iOS 응용 프로그램을 최신 OS로 업그레이드 하시겠습니까?

  • "최신 iOS"로 업그레이드 한 사용자는 업데이트를 받게됩니다.
  • 업데이트하지 않은 사용자는 어떻게됩니까? 이전 iOS4 버전을 계속 사용할 수 있습니까?

답변

1

일반적으로 항상 그런 것은 아니지만 새 OS는 이전 버전과 동일하지만 새로운 기능이 있습니다. 이전 버전의 앱은 최신 OS와 함께 작동하지만 새로운 기능을 활용하지 않습니다. 사용자가 일반적으로 가지고있는 유일한 문제는 충돌 문제이지만 모든 것은 앱에서 사용하는 API에 달려 있습니다.

또한 업데이트는 사용자에게 절대 적용되지 않으며 항상 선택 사항입니다. 앱이 사용자가 보유한 것보다 높은 iOS 버전에서만 작동하는 경우 사용자에게 업데이트가 제공되지 않습니다. 기기에 설치된 이전 버전을 계속 사용할 수 있습니다. 앱에는 만료일이 없습니다.

가능한 한 많은 iOS 버전과의 호환성을 유지하려면 iOS 배포 대상을 앱과 호환되도록 설정할 최소 OS로 설정할 수 있습니다. SDK 버전 번호는 중요하지 않지만 최신 iOS 기능을 지원하려면 최신 iOS SDK가 필요합니다.

최소 OS로 타겟팅하는 버전과 API 호환성을 확인해야합니다. here을보고 "API Diffs"를 검색하십시오. 각 문서에는 해당 iOS 버전의 API에 대한 변경 사항이 나열되어 있습니다. 그러면 해당 버전에서 새로 추가되거나 제거 된 API가 나열됩니다. 예를 들어, iOS 4.1 ~ 4.2 API diffs 문서에 나열된 UIPrintPaper은 iOS 4.2에 대한 새로운 API입니다. 따라서 iOS 4.1 이전 버전에서 실행하면 해당 API를 호출 할 때 앱이 중단됩니다. UIPrintPaper 스니퍼 주변에 #if __IPHONE_OS_VERSION_MAX_ALLOWED <= __IPHONE_4_1을 사용하면 해당 문제가 해결됩니다.

11

"배포 대상"은 중요한 것입니다. 배포 대상을 설정하면 앱이 최소 필수 OS 버전을 설정할 수 있습니다. 많은 개발자가 새로운 iOS 버전에서만 사용할 수있는 기능에 의존하지 않는 한 가능한 멀리 되돌리려합니다.

iOS 4 SDK로 컴파일 된 앱을 배포 대상으로 설정했다고 가정 해 보겠습니다.

  • iOS 3 또는 iOS 4 (및 iOS 5) 사용자는 앱을 다운로드하여 사용할 수 있습니다.

이제 iOS 5 SDK로 컴파일 된 업데이트를 배포하고 4.0을 배포 대상으로 설정합니다.

  • iOS 4 또는 iOS 5 사용자는 앱을 다운로드하거나 업그레이드하여 사용할 수 있습니다.
  • 앱을 이미 구매 한 iOS 3 사용자는 업그레이드 할 수 없지만 기존 설치된 버전을 계속 사용할 수 있습니다.
  • 아직 앱을 구매하지 않은 iOS 3 사용자는 지금 할 방법이 없습니다.

Apple은 앱 스토어에 앱의 버전을 정확히 하나만 유지합니다.

+0

이것은 얼마 전에 게시되었지만, 애플은 정확하게 하나의 버전을 유지할 것이다. 더 높은 배포 타겟 (예 : iOS 7)을 사용하여 업데이트를 릴리스하면 기존 앱의 기존 사용자가 (iOS 7 이전의) 대체 휴대 전화를 구입 한 경우 다시 구매할 수 없습니다. 그들이 실수로 그것을 제거한다면? iCloud가이 기능을 개선합니까? –

+0

이것은 내가 아는 한 여전히 사실입니다. 앱을 제거하면 앱 스토어에서 다시 설치할 수 없습니다. 앱이 iTunes에 백업되어있는 경우 이전 버전이 동기화 될 때 복사 될 수 있지만 그 방법 만 생각하면됩니다. iCloud는 전혀 도움이되지 않습니다. 기기의 iClouds 백업에는 앱 데이터와 설치 한 앱이 포함되어 있지만 앱 바이너리가 포함되어 있다고는 생각하지 않습니다. –

+0

감사합니다. Alex. 나는 그것을 할 것이며, 오래된 장치의 고객들로부터 너무 많은 열을받지 않기를 희망한다. –

1

최신 버전을 다운로드하지 않는 한, 그들은 물론 이전 버전을 사용할 수 있습니다. 그러나 데스크톱에서 iTunes를 통해 실수로 업데이트를 다운로드 할 수도 있습니다. 장치의 App Store는 장치의 OS 버전이 다운로드중인 응용 프로그램과 호환되는지 확인하지만 iTunes는 iTunes 라이브러리의 이전 버전을 대체하므로 응용 프로그램이 장치에서 제거 될 수 있습니다. 사용자가 동기화합니다 (다운로드 한 버전을 설치할 수 없기 때문에).

기존 응용 프로그램의 경우 배포 대상을 가능한 한 낮게 유지하고 런타임에 사용할 수있는 새 OS 버전의 추가 기능을 결정해야합니다. 이렇게하면 이전 OS 버전과의 호환성을 유지하면서 업그레이드 된 사용자에게 추가 기능을 제공 할 수 있습니다.

관련 문제