ios - 호환 - 윈도우7 32비트에서 64비트 실행




64 비트 및 32 비트 응용 프로그램을 지원하는 단일 응용 프로그램 바이너리의 방식 (4)

Xcode는 32 비트 및 64 비트 바이너리가 모두 포함 된 앱을 제작할 수 있으므로 iOS 7을 실행하는 모든 기기에서 작동합니다. iOS 6를 계속 지원하려면 32 비트 전용으로 빌드해야합니다. 다음 달에는 iOS 6에서 32 비트뿐만 아니라 iOS 7에서 32 비트 및 64 비트를 지원하는 단일 응용 프로그램 바이너리를 만들 수있는 변경 작업을 수행 할 예정입니다.

응용 프로그램을 64 비트 바이너리로 변환

상위 수준에서 다음은 32 비트 및 64 비트 런타임 환경 모두를 대상으로하는 앱을 만드는 단계입니다.

1.Xcode 5.0.1을 설치하십시오.

2. 프로젝트를 엽니 다. Xcode는 프로젝트를 현대화하라는 메시지를 표시합니다. 프로젝트를 현대화하면 64 비트 용으로 앱을 컴파일 할 때 중요한 새로운 경고 및 오류가 추가됩니다.

3. iOS 5.1.1 이상을 지원하도록 프로젝트 설정을 업데이트하십시오. iOS 5.1 이전의 iOS 버전을 대상으로하는 경우 64 비트 프로젝트를 빌드 할 수 없습니다.

4. 프로젝트의 아키텍처 빌드 설정을 "표준 아키텍처 (64 비트 포함)"로 변경하십시오.

5. 앱을 업데이트하여 64 비트 런타임 환경을 지원하십시오. 새로운 컴파일러 경고 및 오류가이 프로세스를 안내합니다. 그러나 컴파일러가 모든 작업을 수행하지는 않습니다. 이 문서의 정보를 사용하여 자신의 코드를 조사하는 데 도움을 받으십시오.

6. 실제 64 비트 하드웨어에서 응용 프로그램을 테스트하십시오. iOS 시뮬레이터는 개발 중에도 도움이 될 수 있지만 함수 호출 규칙과 같은 일부 변경 사항은 앱이 기기에서 실행될 때만 표시됩니다.

7. 악기를 사용하여 앱의 메모리 성능을 조정하십시오.

8. 승인을 위해 두 아키텍처를 모두 포함하는 앱을 제출하십시오.

이 장의 나머지 부분에서는 Cocoa Touch 응용 프로그램을 64 비트 런타임 환경으로 이식 할 때 자주 발생하는 문제에 대해 설명합니다. 이 섹션을 사용하여 코드를 조사하기위한 자신의 노력을 안내하십시오.

https://developer.apple.com/library/ios/documentation/General/Conceptual/CocoaTouch64BitGuide/ConvertingYourAppto64-Bit/ConvertingYourAppto64-Bit.html#//apple_ref/doc/uid/TP40013501-CH3-SW1

사과 발표를 볼 수 here. . 이 문서에 따르면 우리는 32 비트와 64 비트를 지원하는 동일한 바이너리를 제출할 수 있습니다. 한 스택 오버플로 대답을 찾았 here . 하지만이 대답에 따르면 deployment target as IO7+ 설정 should . 하지만 사과 박사는 IOS 7 및 IOS 6 지원을 통해 제출할 수 있다고 말했습니다. 내 질문은, 어떻게 우리가 배포 대상 IOS6 + 32 비트 및 64 비트를 지원하는 바이너리를 생성 할 수 있습니까?

참고 : xcode 5.0

업데이트 : Question above is fixed by using xcode 5.0.2 . 하지만 32 비트와 64 비트의 코드를 어떻게 만들 수 있는지 혼란 스럽습니다. 나는 한 가지를 안다. 우리는 때때로 두 가지 코드를 별도로해야한다. 하지만 How can I do? . 예를 들어, ios6에서 비추천 된 하나의 메소드가 의미하는 경우, ios6 및 ios7에 대한 코드도 제공합니다. 같은 경우에는 여기에 따라하거나 다른 기술을 수행하십시오.



상위 수준에서 다음은 32 비트 및 64 비트 런타임 환경 모두를 대상으로하는 앱을 만드는 단계입니다.

Xcode 5.0.2를 설치하십시오 (이 작업 만 수행 했으므로 아마도 더 높을 것입니다).

프로젝트를 엽니 다. Xcode는 프로젝트를 현대화하라는 메시지를 표시합니다. 프로젝트를 현대화하면 64 비트 용으로 앱을 컴파일 할 때 중요한 새로운 경고 및 오류가 추가됩니다.

iOS 5.1.1 이상을 지원하도록 프로젝트 설정을 업데이트하십시오. iOS 5.1 이전의 iOS 버전을 대상으로하는 경우 64 비트 프로젝트를 빌드 할 수 없습니다.

프로젝트의 아키텍처 빌드 설정을 "표준 아키텍처 (64 비트 포함)"로 변경하십시오.

64 비트 런타임 환경을 지원하도록 앱을 업데이트하십시오. 새로운 컴파일러 경고 및 오류가이 프로세스를 안내합니다. 그러나 컴파일러가 모든 작업을 수행하지는 않습니다. 이 문서의 정보를 사용하여 자신의 코드를 조사하는 데 도움을 받으십시오.

실제 64 비트 하드웨어에서 앱을 테스트하십시오. iOS 시뮬레이터는 개발 중에도 도움이 될 수 있지만 함수 호출 규칙과 같은 일부 변경 사항은 앱이 기기에서 실행될 때만 표시됩니다.

Instruments를 사용하여 앱의 메모리 성능을 조정하십시오. 승인을 위해 두 아키텍처를 모두 포함하는 앱을 제출하십시오.

이 장의 나머지 부분에서는 Cocoa Touch 응용 프로그램을 64 비트 런타임 환경으로 이식 할 때 자주 발생하는 문제에 대해 설명합니다. 이 섹션을 사용하여 코드를 조사하기위한 자신의 노력을 안내하십시오.

사과에 의한 32 및 64 비트 아키텍처 지원 가이드를 따르십시오.


질문의 첫 부분은 Base SDK가 iOS 7.0 인 "Latest iOS SDK"여야합니다. 최소 배포 대상은 iOS 6.0이어야합니다. 그렇지 않으면 아키텍처에 대해 "64 비트를 포함한 표준 아키텍처 (armv7, armv7s, armv8)"를 선택할 수 없습니다. 이 설정을 선택하면 앱이 32 비트 및 64 비트 용으로 빌드됩니다.

업데이트의 경우 - 32 / 64bit arch로 전환 한 후 프로젝트를 분석하고 나타날 수있는 새로운 경고를 수정하십시오. 그런 다음 실제 64 비트 장치 (iPhone 5s / iPad Air / iPad 미니 망막)에서 앱을 테스트하십시오. 앱에서 iCloud를 사용하는 경우 32 비트와 64 비트 장치 간의 동기화를 테스트합니다. 유용한 정보는 Apple 가이드에 있습니다 (@iDev 대답에 요약되어 있습니다).

편집하다

실제로 예, 최소 5.1.1이지만 수동으로 설정하거나 배포 대상을 6.0 이하로 설정하고 아키텍처를 포함하도록 선택해야합니다. 64bit Xcode가 5.1.1로 설정하도록 요청할 것입니다. 어쨌든 64 비트 아치를 사용하려는 경우 특별히 5.1.1을 지원해야하는 이유가 확실하지 않습니다.





32bit-64bit