programing

Xcode 4.2 및 iOS 5 SDK를 사용할 때 이전 iOS 버전을 대상으로 하는 것이 가능합니까?

jooyons 2023. 6. 4. 10:29
반응형

Xcode 4.2 및 iOS 5 SDK를 사용할 때 이전 iOS 버전을 대상으로 하는 것이 가능합니까?

저는 최근에 iOS 5 SDK 패키지가 포함된 Xcode 4.2를 다운로드했고 바로 iOS 4.2.1이 포함된 아이폰 3G를 디버깅에 사용할 수 없다는 것을 알게 되었습니다.iOS 5가 설치된 아이폰 4에서만 디버깅과 테스트를 할 수 있습니다.

5.0 X 코드 미만의 iOS를 실행하는 모든 장치에 대해 "iPhone3GS 실행 완료"라고만 말하고 실행하지 않습니다.앱에서 3.0 이상의 기능을 사용하지 않고 3.0 이상의 모든 버전을 대상으로 하고 싶기 때문에 배포 목표를 3.0으로 설정했습니다.모든 프로비저닝 프로필을 설치하고 최신 상태로 유지합니다.

xcode를 종료하고 다시 시작했습니다. 빌드를 여러 번 클리닝했습니다.아키텍처 빌드 설정에서 armv6를 추가하려고 시도했지만, 어떤 것도 ios 4.2.1을 사용하는 이전 전화기에서 앱을 빌드하고 실행할 수 없습니다.

제 질문은 iOS 버전이 5 이하인 경우에도 새로운 SDK를 사용하는 앱을 만들 수 있습니까?이전 전화기에 앱을 설치할 수 없는 경우 iOS 버전이 낮은 경우에도 앱이 계속 실행되는지 어떻게 확인할 수 있습니까?

편집: 좋아요. iOS SDK 5는 기본적으로 armv6에 대한 지원을 중단한 것 같습니다.대상과 프로젝트 모두에 대한 빌드 설정 아래의 아키텍처 필드에 armv6를 추가해야 합니다.그러면 당신의 앱은 아이폰 3G 기기에서 실행될 수 있을 것입니다.iOS 5를 사용하여 armv6 및 armv7 아키텍처를 구축하는 방법은 여기에서 답을 찾을 수 있습니다.

저는 아이폰 3G 4.2.1에서 새로 만들어진 Xcode 4.2 프로젝트를 실행하려고 시도하면서 같은 문제를 겪고 있었습니다.이것이 제가 그것을 작동시킬 수 있었던 방법입니다.

대상의 "빌드 설정" ==> "아키텍처"를 "표준(armv7)"에서 "기타"로 변경합니다.armv6 및 armv7을 추가합니다.

대상의 "빌드 설정" ==> "유효한 아키텍처"를 armv6 및 armv7로 변경합니다.

대상의 "빌드 설정" ==> "iOS 배포 대상"을 iOS 4.2로 변경합니다.

여기에 이미지 설명 입력

프로젝트 *-Info.plist를 열고 "필수 장치 기능" 설정을 제거합니다(필수 armv7 참고).여기에 이미지 설명 입력

btw 주최자를 통해 앱을 수동으로 추가하려고 시도했을 때 이를 알게 되었고 다음과 같이 보고되었습니다.

응용 프로그램을 설치할 수 없습니다.

응용 프로그램에 대한 Info.plist(/Users/...) 목록/TestsDebug.app은 Dev iPhone 3G에서 충족되지 않는 장치 기능 요구 사항을 지정합니다.

그 이후에는 모두 작동해야 합니다.피타에 대해 이야기해 보세요.

Xcode > Preferences > Downloads로 이동하여 이전 iOS 버전의 디버깅 지원을 설치합니다.

mmorris는 내가 그 문제를 해결할 수 있게 해주었습니다...Info.plist에서 필수 장치 기능을 armv7이 아닌 armv6로 설정해야 했습니다. 이것이 다른 사용자에게도 도움이 되기를 바랍니다.

당신은 전화를 연결한 다음 주최자에게 가야 합니다.Xcode는 자동으로 이전 버전을 요청해야 합니다.

자세한 내용은 개발자 페이지를 참조하십시오.4.2 베타에 대한 노트에 설명되어 있습니다.

이전 iPod Touch에서 앱을 실행하는 중에 비슷한 문제가 발생했습니다.저는 Xcode 4.3.3으로 업그레이드했고 오래된 하드웨어에서는 더 이상 디버거에서 앱이 실행되지 않았습니다.

"아키텍처" 및 "필수 장치 기능"에 대한 다른 의견은 정확하게 명시해야 할 중요한 세부사항이라고 생각합니다.불행하게도, 그들은 제 문제를 해결하기에 충분하지 않았습니다.

저의 경우, 저는 빌드 계획이 범인이라는 것을 알게 되었습니다.Xcode 4.3.3은 프로젝트를 업그레이드할 때 GDB 디버거에서 LLDB로 전환하라는 메시지를 받았습니다.가 제 계획의 실행 액션을 GDB로 다시 변경했을 때, 저는 Xcode에서 이전 하드웨어로 앱을 다시 실행할 수 있었습니다.

아키텍처에 armv6를 추가해야 한다는 것을 알게 되었지만 여전히 작동하지 않았습니다.이제 armv7을 필요한 기능에서 제거했습니다. 이상입니다!효과가 있었어요!

이전 버전의 Xcode를 사용했다면 이 작업은 저에게 효과가 있었고 귀하에게도 효과가 있을 것입니다.그렇지 않은 경우 다른 사용자의 조언에 따라 이전 버전의 SDK에서 SDK를 가져와야 합니다.

sudocp -a /개발자/플랫폼/아이폰OS.플랫폼/개발자/SDKs/아이폰OS5.0.sdk/응용프로그램/Xcode.app/콘텐츠/개발자/플랫폼/아이폰OS.플랫폼/개발자/SDKs/아이폰OS5.0.sdk.

이 명령어는 다른 사람이 표시한 것과 조금 다를 뿐이지만, 그 명령어는 SDK 폴더 자체에 있는 파일을 삭제했습니다. 적절한 이름으로 하위 디렉터리가 생성되기를 바랍니다.

capabilities 제에필장기능에중복줄있다었니습이된치수경우는에 된 줄이 있었습니다.여기에 이미지 설명 입력

방금 제거했어요...

여기에 이미지 설명 입력

바라건대 그것이 다른 누군가에게 도움이 되기를 바랍니다.

언급URL : https://stackoverflow.com/questions/7760946/is-it-possible-to-target-older-ios-versions-when-using-xcode-4-2-and-ios-5-sdk

반응형