배포 대상은 무엇을 의미합니까?


107

이것은 제가 가정하고있는 매우 간단한 질문입니다. 누군가 배포 대상이 무엇을 의미하는지 말해 줄 수 있습니까? IOS 10을 선택하면 iOS 10 사용자 만 앱을 다운로드 할 수 있습니다. 더 낮은 배포 대상을 선택하는 것이 좋지 않습니까? 또한 배포 대상에서 계속하는 것은 낮은 배포 대상에서 실행하지 않는 것이 좋습니다.


1
이 질문을 참조하십시오 stackoverflow.com/questions/18568572/...
mlidal

답변:


149

최소 배포 대상을 iOS 9로 설정했다고 가정 해 보겠습니다. 이는 애플리케이션이 iOS 9 이상 장치 와 호환된다는 것을 의미합니다 .

응용 프로그램이 실행되지 않습니다 아래 9.0 장치 있지만 아이폰 OS 버전에서 실행할 수있는 아이폰 OS 9.0 이상.


낮은 버전의 사용자가 적어도 앱 스토어에서 앱을 계속 볼 수 있습니까?
Sagrian

2
@Sagrian 예 그들은 수 있지만, 그것은 그들의 장치 OS와 호환되지 않습니다 것을 그들에게 보여줍니다
FreakyAli

배포 대상과 정보의 차이점은 무엇입니까? Xcode는 두 곳에서 iOS 버전을 선택합시다.
Daniel Springer

@DanielSpringer 설정은 Deployment Target궁극적으로 Info.plist를 변경합니다. Xcode 4.x
Naveed Abbas

@NaveedAbbas 미안하지만 어떻게 대답하는지 이해하지 못합니다. 왜 두 곳입니까? 각각은 무엇입니까?
Daniel Springer

19

배포 대상은 앱이 이전 iOS 버전에서 실행되는 기능을 결정합니다.

App with deployment target set to 10 will work on iOS version 10+ (10, 11, 12, 13 ...) but won't work on 9.x.

새 버전의 iOS가 출시되면 일부 사람들은 장치를 최신 iOS 버전으로 업데이트하지 않아도되므로 can't download your app from the App Store.

더 높은 배포 대상을 선택하면 (e.g 12.1)최신 기기를 보유하고 있지만 이전 iOS 버전 (11.0이 설치된 iPhone X)을 사용하는 사용자는 앱을 다운로드 할 수 없습니다. 대비 가능한 가장 낮은 배포 대상을 선택하는 경우 (e.g 6.0)앱을 최대 하위 호환 가능하게 만들려고합니다 (따라서 누군가가 나이에 iOS를 업데이트하지 않은 경우에도 앱을 다운로드 할 수 있습니다).

주의

많은 (거의 모든) 최신 프레임 워크 및 기능이 낮은 iOS 버전에서 제대로 실행 (예상대로 작동)되지 않아 앱 충돌 가능성이 높아집니다.

배포 대상에 영향을 미치는 요소

다음은 더 높은 배포 목표를 요구하는 몇 가지 요소입니다.

1) 최신 iOS SDK 사용 (단독)

2) 최신 iOS SDK 특정 기능 사용 (제약 조건, 최신 XIB 파일 등).

3) 빠르게 적응하는 외부 라이브러리 / 프레임 워크 (예 : Facebook SDK, Firebase 등) 사용.

4) 더 높은 Swift 버전 (5.0)은 레거시 Objective C)에서 앱을 작성하는 것보다 더 높은 배포 대상이 필요합니다 !Needs citation.

해결책

우리는 최대한의 하위 지원을 위해 Deploymate 를 사용 하고 있습니다. 주로 다음 사항을 경고하는 데 도움이됩니다.

1) 낮은 iOS 버전에서 작동하지 않는 최신 API

2) 최신 iOS 버전에서 작동하지 않는 더 이상 사용되지 않는 방법 사용.

최대 호환성을 위해 더 낮은 iOS 버전에서 사용할 수 있도록 코드를 수정하기 시작할 때입니다.

참고 : Xcode는 또한 몇 가지 함정에 대해 알려줍니다. Deploymate는 우리와 제휴하거나 어떤 형태로든 지불하지 않습니다. 다른 대안을 찾을 수 있습니다.


1

Deployment Target대상에서 지원하는 iOS 의 최소 버전입니다.

이는 다음을 의미합니다.

  • 개발자는이 버전을 지원하고 다음 호환성을 모두 지원할 수 있습니다.
  • 사용자에게 최소한이 버전의 iOS가 있어야합니다.

Xcode 11.5에서 변경하려면

Build Settings -> iOS Deployment Target

-4

Xcode를 처음 사용하는 경우 기본값을 수락하고 프로젝트의 제약 조건으로 생각하는 것이 좋습니다.

최신 Xcode 버전이 나오면 이전 대상 값에 대한 지원이 제거됩니다. 광범위한 고객 기반을 가진 회사는이 문제를 자체 방식으로 처리해야합니다.

내가 작업 한 대부분의 프로젝트에서 iOS 버전은 애플리케이션을 실행할 수있는 장치를 지정하기 때문에 중요합니다.

예를 들어 iOS 10은 기본적으로 모든 iPod 스타일 커넥터를 남겼습니다.


1
downvotes,하지만 댓글이 없습니다 ... 도움이되지 않습니다 ... 이제 iOS 13이 Xcode 11을 통해 출시되었으므로 이전 프로젝트의 많은 기본 대상을 위로 이동해야했습니다.
benc

찬성 : 유용한 정보 "참호에서". 댓글로 더 적합 할 수 있지만 그럼에도 불구하고.
timmi4sa

차라리 약간 낮은 담당자를 가진 실용 주의자가되고 싶습니다. Xcode를 처음 접하는 것은 소화해야 할 일이 많습니다.
benc
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.