응용 프로그램 실행 파일에 필수 아키텍처 armv6이 없습니다.


81

xCode 4.2를 사용하고 있으며 내 응용 프로그램을 배포하려고합니다. 다음 오류 메시지와 함께 유효성 검사에 실패했습니다.

application executable is missing a required architecture armv6

내 아키텍처의 값은 표준 (armv7)으로 설정됩니다. 드롭 다운 목록의 유일한 옵션입니다. 기본 SDK : iOS 5.0 (유일한 옵션) 배포 SDK : 3.2 활성 아키텍처 만 빌드 : 아니요 유효한 아키텍처 : armv6 armv7 armv7f armv7k

누구든지이 문제에 대한 해결책을 알고 계십니까?



실제로 중복 질문에는 이전 버전의 xCode로 되 돌리는 다른 솔루션이 있습니다. 현재 버전에서이 문제를 해결할 수있는 방법이 있는지 궁금합니다.
azamsharp

유일한 해결책은 xCode 4.2를 제거하고 xCode 4.1을 설치하는 것입니다
azamsharp

1
iOS 5.0 및 Xcode 4.2는 베타 소프트웨어이므로 여전히 NDA가 적용됩니다. 가장 좋은 방법은 Apple의 개발자 포럼 인 devforums.apple.com 에서 이에 대해 논의하는 것 입니다. 도구에 버그가 발생하면 bugreport.apple.com 에서 신고해야합니다 .
Brad Larson

답변:


83

Xcode 4.2 GM에서는 여전히 문제이지만 다음을 수행하여 해결할 수 있습니다.

  1. xcode 프로젝트에서 파일 / 폴더보기로 전환

  2. 프로젝트 선택 (파란색 아이콘)

  3. 화면 중간의 대상에서 애플리케이션을 선택하십시오.

  4. 빌드 설정으로 이동

  5. 아키텍처 찾기> 배포

  6. 디버그 및 릴리스를 모두 볼 수 있도록이 섹션을 확장합니다.

  7. "표준 (armv7)-$ (ARCH_STANDARD_32_BIT)"을 "기타 ..."로 변경합니다.

  8. "Standard (armv7)-$ (ARCH_STANDARD_32_BIT)"를 "armv6"로 바꾼 다음 새 항목 "armv7"을 추가합니다.

포함 된 모든 프로젝트 (예 : TAPKU)에 대해이 작업을 수행해야 할 수도 있습니다.

여기에 이미지 설명 입력


8 단계를 잘 이해하지 못합니다 ... 자세히 설명해 주시겠습니까?
Samuel

4
드롭 다운에서 OTHER를 선택하면 그리드가있는 상자가 표시되며 한 줄에 armv6을 추가하고 다음 줄에 armv7을 추가 할 수 있습니다. 추가 한 스크린 샷이 잘못되었습니다.
J3RM

그것은 나를 구했습니다. 고마워요!
fyasar

1
"Build Active Architecture Only"가 "No"로 설정되어 있는지 확인하십시오. 그렇지 않으면 장치에 연결되어 있으면 해당 장치 용으로 만 빌드됩니다 ...
user739711

46

Xcode 4.5의 경우 배포 대상을 iOS 4.3 이상으로 설정하면 해결됩니다. armv6 및 이전 버전의 iOS는 거의 멸종되었습니다.


2
이것에 대해 대단히 감사합니다. 벌써 2 시간 동안 두통을 겪었습니다!
RickJansen 2012 년

2
예, 대상을 iOS 4.3으로 설정하면 최신 4.5.1에서도 문제가 해결됩니다. thx
짐 호세

40

쉬운 방법 :

1) 프로젝트 아이콘 ( "실행"버튼 아래에 파란색 아이콘)을 마우스 왼쪽 버튼으로 클릭합니다.

2)의 오른쪽)에, 왼쪽 클릭으로 프로젝트 아이콘 (옆에 프로젝트 이름 아래 "PROJECT" (흰색 배경).

3) 탭 선택 "Build Settings" 하고 "Architectures" 하위 메뉴를 찾습니다 (첫 번째 항목). "Standard (armv7) $ (ARCH_STANDARD_32_BIT)"를 마우스 왼쪽 버튼으로 클릭 하고 "기타 ..."를 선택합니다 .

4) "-" 아이콘을 클릭하여 원래 값을 제거합니다 ( "$ (ARCH_STANDARD_32_BIT)" ). 클릭 "+" 아이콘 및 쓰기 "의 ARMv6을" (따옴표없이)를. "+" 아이콘을 다시 클릭하고 " armv7" (큰 따옴표 제외)을 추가합니다. "완료"를 클릭합니다 .

5) 확인하십시오 "활성 아키텍처 구축" 으로 설정되어 "아니오" (이 있어야한다)

6) 프로젝트 아이콘 (오른쪽) 옆에있는 "TARGETS" 아래의 프로젝트 이름을 3, 4, 5 단계를 반복합니다.

7) 키보드에서 cmd + I (또는 Xcode 메뉴의 제품-> 프로필 )를 누르고 모든 것이 정상인지 확인합니다.


3
이 지침이 더 명확하다는 것을 알지만 @ J3RM의 중요한 메모를 잊지 마십시오. "포함 된 모든 프로젝트 (예 : TAPKU와 같은 프레임 워크)에 대해이 작업을 수행해야 할 수 있음을 기억하십시오."
benvolioT

내 설정은 "Build Active Architecture Only"가 true로 설정되었습니다. 솔루션에 감사드립니다!
Chris Brandt

4 단계에서 완료를 클릭했습니다. 하지만 DOne 버튼이 보이지 않습니다. : / 여기에 뭔가 빠졌나요?
rohan-patel 2013 년

5

내 환경은 Xcode 4.5.1이었습니다. 두 가지를 변경하면이 문제가 해결되었습니다.

  1. 배포 대상을 iOS 4.3 이상으로 설정합니다.
  2. 빌드 설정 아래의 아키텍처 목록에 armv7 아키텍처 만 유지하고 다른 모든 아키텍처 (armv6 포함)를 명시 적으로 제거합니다.

그래, 나도. 내 iPad 전용 앱은 아키텍처 목록에서 armv7s를 제거 할 때까지 빌드를 거부했습니다.
마이크 Gledhill

4

경고에 대한 해결책을 찾을 때이 질문을 우연히 발견했습니다.

warning: iPad: application executable is missing a required architecture.
At least one of the following architecture(s) must be present: armv7 (-19033)
Unable to validate your application. - (null)

다른 답변으로는 문제가 해결되지 않아서 CFBundleExecutable . 이전 값으로 돌아 왔을 때 모든 것이 다시 순조롭게 진행되었습니다.

이 경고의 직접적인 원인이 무엇인지 확실하지 않지만 적어도 Ad Hoc 빌드를 다시 배포 할 수 있습니다.


정말 이상하고 똑같은 경고와 관련없는 경고를 받았습니다. 값을 CFBundleExecutable원래대로 변경 하고 모든 것이 잘되었습니다. 감사!
Adriano Lucas 2012 년

3

Xcode 4.2.1을 사용하면 모든 답변이 제 경우에 도움이되지 않았습니다.

내가 한 일은 변경되었다 Architectures에서 armv7armv6 armv7그것은했다. 이렇게 :

여기에 이미지 설명 입력


3

armv6을 추가하는 것은 Xcode 4.5에서 동일한 문제를 해결하는 데 부분적으로 만 문제가되었습니다. 또한 배포 대상을 iOS 4.1에서 iOS 5.0으로 늘려야 작동하게되었습니다. 그러한 단순한 수정에 대한 많은 시간의 좌절. 도움이 되었기를 바랍니다.


5
목표를 4.3으로 늘리면 충분합니다.
SK9

-1

나를 위해 armv6아키텍처 아래 에서만 설정했을 때 도움이되었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.