IT

iOS 5로 armv6 및 armv7 아키텍처 용으로 빌드하는 방법

lottoking 2020. 8. 25. 08:19
반응형

iOS 5로 armv6 및 armv7 아키텍처 용으로 빌드하는 방법


에서 iOS5를 애플 방울 의 ARMv6의 로부터 아키텍처 ARCHS_STANDARD_32_BIT을 .

iPhone3G에 대한 지원을 유지하기 위해 iOS5 회의 armv6 에서하고 싶습니다 .

누구든지 이것에 대한 해결책을 찾았습니까?


나는 오늘 iOS 4.0의 배포 대상을 지정하는 단계를 구축했습니다. 아키텍처에 armv7 만 지정되어있는 상태에서 Xcode는 iOS4.2 이하의 모든 것을 지원 아키텍처에 armv6을 포함해야합니다. 해당 필드를 편집하고 대화 상자가 "+"버튼을 클릭하고 리터럴 "armv6"을 입력하면됩니다.

제 경우에는 iOS4 및 iOS5에서 작동하기를 원합니다. iOS5에서 작동하도록 몇 가지 수정을해야했지만 모든 변경 사항은 iOS4에서 코드 변경을 완료했습니다.

또한 앱이 iOS4에서 충돌하지 않고 실행될 수 있도록 몇 가지 iOS5 관련 기능을 추가했습니다. 특히 iOS5 기능을 사용하기 전에 테스트에서 iOS5 전용 라이브러리를 옵션으로 연결했습니다.

따라서 iOS5 세계에서 iPhone3G를 지원하는 것은 "앱이 iOS5를 실행하는 구형 장치에서 실행 가능하고 싶습니다."라기보다는 "iOS4 이상 (iOS5 기능을 실행하기)에서 앱을 실행하기 원합니다."를 의미합니다. 수 있습니다. ". 여기에 차이가 있습니다 . 여기에서 생각하십시오. :-)

어쨌든 armv6 지원을 다시 추가하는 것은 매우 독립적입니다. 요점은 이것이라고 생각합니다. 어떤 시점에서 (어떤 때 필요한 든) 걱정할 armv6 장치가 더 이상 없을 때가 필요하지 않습니다. Apple의 견해는 모든 사람이 가능한 빨리 최신 하드웨어로 업그레이드해야 것입니다. 따라서 그 세계에서는 도구가 최신 및 가장 위대한 도구로 기본 설정이 필요하지 않습니다. :-) 다행도 (아니면), 우리 개발자는 현실 세계에 살고있는 것을 한동안 존재하며 지원한다는 것을 알고 있습니다. 그리고 Xcode 개발 팀도이를 검증한다고 생각합니다. 그래서 armv6 지원을 아주 간단하게 다시 추가 할 수 있습니다.


간단한 대답은 현재 설정을 "표준 (armv7)-$ (ARCHS_STANDARD_32_BIT)"에서 "armv6"및 "armv7"로 변경해야한다는 것입니다. 아래 이미지를 참조하십시오. 작동 비용 이전 설정으로 라인을 삭제해야합니다.

armv6 및 armv7에 대한 올바른 설정


또한 Project AND Targets에서 설정했는지 확인하십시오 ...이를 알아내는 데 한 시간이 있습니다. 하나는 설정했지만 다른 하나는 설정하지 않았습니다. 도움이 되셨기를 바랍니다. GLTA


Apple이 표준 설정에서 armv6를 삭제 한 이유가 있다고 생각합니다.

iOS5 SDK로 armv7 / armv6을 수락했지만 armv6 컴파일러가 릴리스 모드에서 잘못된 코드를 생성했습니다. 해결 방법을 제안 후 (다른 최적화 수준으로 llvm 또는 gcc 시도)를 포기합니다.

따라서 이전 armv6 장치를 지원하는 한 iOS SDK 4.x로 돌아갑니다.

코드 예 :

// myView center=(160, 100)
CGPoint p=myView.center;  
// now p=(100,100) (what the heck?)
p.x=myView.center.x;
p.y=myView.center.y;
// now p=(160,100) 
p.y+=100;
// now p =(200,200) (what the heck?)

armv7 컴파일러와 iOSSDK <5.0에서는 예상대로 작동합니다.

친애하는


이것이 확실하다고 확실하지 않지만 $ (ARCHS_STANDARD_32_BIT) 인 "architectures"의 정의 된 페이지를 "armv6 armv7"로 바꾸면 iOS5를 기반으로, iOS4를 배포로 할 수있는 것을 발견했습니다. target 및 pass validation.

IOS5 전용 라이브러리 또는 호출을 사용하지 않지만 다음 릴리스에서 사용할 예정입니다.


앱을 준비하고 App Store에 업로드하기 위해 $ (ARCHS_STANDARD_32_BIT)를 armv7로 바꿀 필요가 없습니다.

MarkGranoff가 제안한 것처럼, 저는 +를 두 번째 줄에 입력하여 armv6을 추가했습니다.

참고 URL : https://stackoverflow.com/questions/7488657/how-to-build-for-armv6-and-armv7-architectures-with-ios-5

반응형