Programming

"구성 : iPhone 구성에는 armv6 아키텍처가 포함되어야합니다."

procodes 2020. 3. 5. 08:04
반응형

"구성 : iPhone 구성에는 armv6 아키텍처가 포함되어야합니다."


프로젝트 빌드 설정을 조정해야한지 오래되었습니다. 최신 SDK로 업그레이드 한 후 임시 배포 구성을 작성하는 데 문제가 있습니다.

빌드는이 경고 및 오류를 생성합니다.

경고 : iPhone 앱은 armv6 아키텍처를 포함해야합니다 (현재 ARCHS = "armv7")

iPhone / iPod Touch : 응용 프로그램 실행 파일에 필요한 아키텍처가 없습니다. 다음 아키텍처 중 하나 이상이 존재해야합니다. armv6 (-19033)

그러나 내 프로젝트에서 올바르게 설정 한 것으로 생각했습니다.

  • 아키텍처 : 표준 (armv6 armv7)
  • 기본 SDK : 최신 iOS (현재 iOS 4.2로 설정)
  • 유효한 아키텍처 : armv6 armv7

대체 텍스트

모든 대상을 청소했습니다.

나는 어떤 팁을 주셔서 감사합니다.


Xcode 4.2 이상을 사용하는 경우 다음을 시도하십시오.

  1. 왼쪽 열에서 프로젝트 이름을 클릭 한 다음 대상을 클릭하십시오.

    여기에 이미지 설명을 입력하십시오

  2. 오른쪽 열에서 '빌드 설정'탭을 클릭하십시오.

    여기에 이미지 설명을 입력하십시오

  3. '아키텍처'에서 '릴리스'또는 '배포'행을 클릭하고 '기타 ...'를 선택하십시오.

    여기에 이미지 설명을 입력하십시오

  4. 나타나는 팝 오버에서 '$ (ARCHS_STANDARD_32_BIT)'라는 강조 표시된 행을 두 번 클릭하고 'armv6'을 입력하여 바꾸십시오. 그런 다음 팝 오버 왼쪽 하단에 더하기 버튼이있는 새 행을 추가하고 'armv7'을 입력 한 다음 완료를 클릭하십시오.

    여기에 이미지 설명을 입력하십시오

업데이트 : iPhone 5를 대상으로 armv7을 추가해야합니다. 더 이상 armv6을 지원하지 않는 Xcode 4.5 이상으로 빌드하는 경우 armv6을 삭제하십시오.

그게 다야. 이제 오류를 생성하지 않고 빌드 / 아카이브 할 수 있습니다.

그래도 작동하지 않으면 justinxreese의이 답변을 참조하십시오 . info.plist 파일의 "필수 장치 기능"에 armv6 및 armv7에 대한 항목을 추가하는 것이 좋습니다.


"Build Active Architecture Only"를 선택 취소하면 유효한 모든 아키텍처가 빌드됩니다.

업데이트 : Xcode 4부터는 더 이상 적용되지 않습니다. Xcode 4 이상에 대한 Nick의 지침을 따르십시오.


나는 받아 들인 대답을 따른 후에도이 문제가 있었고 다음과 같은 결과를 얻었습니다.

Info.plist에서 필수 장치 기능에 대한 항목을 추가하십시오. 이것은 배열이어야하며 두 개의 항목이 있습니다.

  • 항목 0 : armv6
  • 항목 1 : armv7

다음과 같이 보일 것입니다 :

필요한 장치 기능 항목


Xcode 4.2에 대한 Nick의 답변 외에도 info.plist 파일을 검토해야 할 수도 있습니다. Xcode 4.2에서 새 프로젝트가 시작된 것처럼 기본적으로 '필수 장치 기능'에서 'armv7'을 지정하는 것 같습니다. armv6을 실행하는 장치 (예 : iPhone 3G)를 지원하려면이를 제거해야합니다.

여기에 이미지 설명을 입력하십시오

yourProjectName-Info.plist의 '필수 장치 기능'에서 armv7을 삭제하십시오.


iOS 6 업데이트

iOS 6 용 Xcode 4.5.x의 변경 사항

  1. Xcode 4.5.x 이상은 armv6 바이너리 생성을 지원하지 않습니다.
  2. 이제 iPhone 5 / armv7s 지원이 포함됩니다.
  3. Xcode 4.5.x 이상에서 지원되는 최소 배포 대상은 iOS 4.3입니다.

나도이 문제가 있었다. 방금 배포 대상을 4.3으로 설정하고 armv7 아키텍처 만 남겨 두었습니다. 거의 모든 사람이 5를 가지므로 4.3은 괜찮습니다.


나를 위해 그것은 모든 대답과 함께 작동하지 않습니다. 그러나 TARGETS> Architectures> Debug를 시도하고 더하기 버튼으로 새 행을 추가하고 'armv6'(with out ')을 입력 한 다음 완료를 클릭하십시오.

마지막으로 CMD + B를 클릭 한 다음 PrjectName.app (제품 폴더 내)> Finder에서 열기> "PROJECT_NAME.APP"압축 (디버그 -iphoneos)> AppStore에 업로드를 마우스 오른쪽 버튼으로 클릭하십시오.

여기에 이미지 설명을 입력하십시오

내 화면 설정입니다. 여기에 이미지 설명을 입력하십시오

프로젝트를 포함시킨 경우 모두 구성하십시오. 당신의 도움을 바랍니다.


이러한 답변을 혼합하여 사용해 본 결과 마침내 작동하게되었습니다. 나는 지금 애플에서 화가났다. 또 다른 시간에 그들은 나를 낭비했다. 여기 내 구성이 있습니다.

여기에 이미지 설명을 입력하십시오


I tried all the answers above ,none resolved my question. So I create a new project and diff the build settings one by one. Only "Alternate Permissions Files" is different. The project build failed has a value armv7. Delete it then clean->build->archive . Succeed! Hope can solve you question


Wow, I update/submit apps about every 6 months. Every time I do this I have to learn the "new" way to do it...

Same problems as described above when running iOS 5.1, and Xcode 4.3.2

Thanks for the posts! I spent a while updating all of the project settings to armv6, armv7, but no joy. When I set "build active architecture only" to No I got a build error about putting both objects in the same directory.

Fortunately, I noticed you guys were modifying the target build settings instead. This is what finally worked (armv6, armv7, and setting "build active architecture only" to No under the Target build Settings). As a disclaimer, I had already set all of the architectures to armv6, armv7 in the project settings too.

Anyway, thanks for the help, Brent


I had to be sure to change these settings in both the Target and Project settings on xCode 4.3.2 after doing that and setting it to build for both armv6 and armv7 everywhere I was able to submit my app.

For safe measure I also exited xCode between making the changes and doing a clean, build, archive cycle.


Quite a painful problem for me too. Just spent about an hour trying to build and re-build - no joy. In the end I had to do this:

  1. Upgrade the base SDK to the latest ( in my case iOS 5 )
  2. Restart xCode
  3. Clean & Build
  4. It worked!

I guess it's a bunch of jargon about arm6 , arm7 as it looked like my project was valid for both, at least the settings seemed to say so ) , my guess is this is a cynical way to bamboozle us with the technicalities, which we don't understand, so we just take the easy option and target the latest iOS ( good for Apple with more people being up-to-date ) ....


Here is Apple's documentation:

Technical Q&A QA1760

It says there are two things that you must get right:

  1. Add armv6 to the Architecture build settings
  2. Set Build Active Architecture Only to No.

If this still doesn't help you, double check that you are really changing the architecture build settings for the right build configuration – I wasted half an hour fiddling with the wrong one and wondering why it didn't work...

Select Edit Scheme... in the Product menu, click the "Archive" scheme in the left list and check the Build Configuration. Change the value if it was not what you expected.


Note; I had to perform these steps for both my base project, and the embedded PhoneGap .xcodeproj file in my application.

Yes, I embed PhoneGap; they update far to frequently, and I've got less than two months to know that a feature is depreciated.


Try changing your deployment target to something higher than an armv6 processor. The settings for xCode are referencing the operating system level, for instance: iOS version#{3.1, 3.2, 4.0, 4.1, 4.2, 4.3, 5.0, 5.1}

(i)You can set this in the build settings tab or the summary tab. Start at the top left of the window in the Project Navigator, with all the files listed in it. Click the top-most one which has a blue icon.

(ii)If you are planning on using the programmable shader line circuitry, which is accessed and controlled through openGL ES 2.0 API, then you should set your "Deployment Version" to about 4.3, which I believe is only available on devices such as the 3GS or newer. xCode is reporting that iOS 4.2.5 or higher is needed run armv7 code. And once again, this processor, I believe, started with the 3GS.* iOS 4.3 seems to be the choice for me, for now.

http://theiphonewiki.com/wiki/index.php?title=Armv7

http://en.wikipedia.org/wiki/List_of_iOS_devices


If xCode keep complaining about armv7, make sure you disconnect any connect device (especially iPhone 5!!) and try again. Took me hours to find out that little piece of information.


Snow Leopard에서 Xcode 4.2를 사용하여 다음 설정을 사용하여 armv6 (Iphone 3G 이하) 및 armv7 (3GS를 포함하여 3G보다 최신 버전) 모두에서 작동하는 앱을 빌드했습니다.

아키텍처 : armv6 및 armv7 (제거 된 $ (ARCHS_STANDARD_32_BIT))
활성 아키텍처 만 빌드 :
필요한 장치 기능 없음 : armv6

앱을 3G 이하에서 실행하려면 armv7을 필수 장치 기능에 넣지 마십시오.

참고 URL : https://stackoverflow.com/questions/4198676/warning-iphone-apps-should-include-an-armv6-architecture-even-with-build-conf

반응형