다음을 통해 공유


32/64비트 플랫폼 고려 사항

iOS와 macOS는 역사적으로 32비트 및 64비트 앱을 모두 지원해 왔지만 Apple은 점차 32비트 지원을 중단했습니다.

iOS 11을 기준으로 32비트 앱은 더 이상 시작되지 않으며 App Store에 대한 모든 제출은 64비트 지원해야 합니다.

2018 년 1월부터 Mac App Store에 제출된 새 앱은 64비트 지원해야 하며 기존 앱은 2018년 6월까지 업데이트해야 합니다.

Xamarin의 클래식 API(XamMac.dllmonotouch.dll)는 32비트 애플리케이션만 지원합니다. 그러나 새 Xamarin.iOS 및 Xamarin.Mac 애플리케이션은 기본적으로 통합 API(Xamarin.iOSXamarin.Mac)를 사용하므로 필요에 따라 32비트와 64비트를 모두 대상으로 지정할 수 있습니다.

iOS

Xamarin.iOS 앱의 64비트 빌드 사용

Warning

이 섹션은 역사적인 이유로 포함되어 있으며 이전 Xamarin.iOS 프로젝트를 통합 API로 이동하고 64비트를 지원하는 데 도움이 됩니다. 모든 새 Xamarin.iOS 프로젝트는 기본적으로 통합 API 및 대상 64비트를 사용합니다.

통합 API로 변환된 Xamarin.iOS 모바일 애플리케이션의 경우 개발자는 64비트를 대상으로 빌드 설정을 수동으로 업데이트해야 합니다.

  1. 솔루션 패드에서 앱의 프로젝트를 두 번 클릭하여 프로젝트 옵션 창을 엽니다.

  2. iOS 빌드를 선택합니다.

  3. i전화 시뮬레이터의 경우 지원되는 아키텍처 드롭다운에서 x86_64 또는 i386 + x86_64 선택합니다.

    Setting Supported architectures to x86_64 or i386 + x86_64

  4. 물리적 디바이스의 경우 사용 가능한 ARM64 조합 중 하나를 선택합니다.

    Setting Supported architectures to one of the ARM64 combinations

  5. 확인을 클릭합니다.

  6. 클린 빌드를 수행합니다.

ARMv7s는 i전화 5 이상에 포함된 A6 프로세서에서만 지원됩니다. ARMv7 코드는 ARMv6보다 빠르고 작으며 i전화 3GS 이상에서만 작동하며, iPad 또는 최소 iOS 버전 5.0을 대상으로 할 때 Apple에서 필요합니다. ARMv6는 모든 디바이스에서 작동하지만 Xcode 4.5 이상과 함께 제공되는 컴파일러에서 더 이상 지원되지 않습니다.

ARM64는 i전화 6 또는 기타 64비트 디바이스에서 iOS 8을 지원하는 데 필요하며, iTunes App Store에서 새로 제출하거나 종료하는 애플리케이션을 업데이트할 때 Apple에서 필요합니다.

다양한 iOS 디바이스의 기능을 포괄적으로 살펴보려면 Apple의 디바이스 호환성 문서를 검사.

64비트 및 이진 크기 증가

Apple이 32비트에서 64비트로 전환하는 동안 iOS 앱은 32비트 및 64비트 하드웨어 모두에서 실행해야 합니다. 이 때문에 Xamarin의 통합 API를 통해 개발자는 둘 다 대상으로 지정할 수 있습니다.

32비트 아키텍처와 64비트 아키텍처를 모두 대상으로 지정하면 애플리케이션의 크기가 크게 증가합니다. 그러나 이렇게 하면 최신 디바이스가 이전 디바이스를 지원하면서 최적화된 코드를 실행할 수 있습니다.

Important

iTUNES 앱 스토어 에 iOS 애플리케이션을 제출할 때 다음 메시지가 표시되면 "경고 ITMS-9000: 64비트 지원이 없습니다. 2015년 2월 1일부터 App Store에 업로드된 새 iOS 앱은 64비트 지원을 포함하고 Xcode 6 이상에 포함된 iOS 8 SDK를 사용하여 빌드되어야 합니다. 프로젝트에서 64비트를 사용하도록 설정하려면 "표준 아키텍처"의 기본 Xcode 빌드 설정을 사용하여 32비트 및 64비트 코드로 단일 이진 파일을 빌드하는 것이 좋습니다." 지원되는 아키텍처를 사용 가능한 ARM64 조합 중 하나로 전환하고(위와 같이) 다시 컴파일하고 다시 제출해야 합니다.

Mac

Important

2018년 1월부터 Mac App Store에 제출된 모든 새 Mac 앱은 64비트 지원해야 합니다. 기존 Mac App Store 앱 및 해당 업데이트는 2018년 6월부터 64비트 지원해야 합니다. Xamarin.Mac 앱을 64비트로 업데이트하는 방법을 설명하는 Apple의 발표가이드를 참조하세요.

대부분의 최신 Mac 컴퓨터는 32비트 및 64비트 애플리케이션을 모두 지원합니다. MacOS 10.6(Snow Leopard)은 32비트 시스템에서 실행된 마지막 운영 체제입니다. 2010년 이후 출시된 대부분의 Mac은 두 시스템을 모두 지원합니다.

iOS와 달리 최신 버전의 macOS에서 도입된 많은 새 프레임워크는 64비트 모드(CloudKit, EventKit, GameController, LocalAuthentication, MediaLibrary, Multipeer커넥트ivity, NotificationCenter, GLKit, SpriteKit, Social 및 MapKit 등)에서만 지원됩니다.

통합 API를 사용하면 개발자가 생성하려는 애플리케이션 종류(32비트 또는 64비트)를 선택할 수 있습니다.

32비트 애플리케이션 은 32비트 및 64비트 Mac 컴퓨터 모두에서 실행되며 주소 공간은 32비트로 제한되며 모든 라이브러리는 32비트입니다.

일반적으로 64비트 모드에서 실행되지 않는 32비트 종속성이 있거나, 더 작은 다운로드를 원하거나, 64비트로 이동할 때 성능상의 이점이 없는 경우 이 모드를 사용합니다.

macOS Mavericks 및 macOS Yosemite에서 사용할 수 있는 많은 프레임워크를 사용할 수 없으므로 이 모드는 제한됩니다.

64비트 애플리케이션은 64비트 Mac 디바이스에서만 실행됩니다.

Mac의 경우 현재 사용 중인 대부분의 Mac이 64비트 모드를 지원하고 Apple에서 제공하는 전체 프레임워크 집합에 액세스할 수 있으므로 이 모드가 기본 설정된 작업 모드입니다.

Xamarin.Mac 앱의 64비트 빌드 사용

Xamarin.Mac을 사용하여 64비트 앱을 빌드하는 방법에 대한 자세한 내용은 Xamarin.Mac 통합 애플리케이션을 64비트로 업데이트 가이드를 참조하세요.