[ios] iOS 앱 제출 : 64 비트 지원 누락

어제 검토를 위해 문제없이 앱을 보냈습니다. 나는 내가 할 일이 거의 없다는 것을 깨달았고 (지도의 최대 확대 / 축소 수준을 19에서 18로 변경하고 다른 것은 없음) iTunes Connect에서 바이너리를 제거하고 다시 제출하려고했습니다.

이제 다음 경고가 표시됩니다.

warning_xcode

내 아키텍처가 다음과 같은 이유를 이해하지 못합니다.

  • 아키텍처 : armv7
  • 유효한 아키텍처 : armv6, armv7, armv7s, arm64

앱이 시뮬레이터에서 잘 실행됩니다. 경고에서 권장하는 표준 아키텍처 (armv7, arm64)를 사용하려고하면 앱이 빌드되지 않고 다음과 같은 결과가 나타납니다.

  • 아키텍처 x86_64에 대한 정의되지 않은 기호
  • ld : 아키텍처 x86_64에 대한 기호를 찾을 수 없습니다.

lib route-me를 사용하고 있으며 동일한 아키텍처 설정을 지정했습니다.



답변

다음 Standard architectures과 같이 ” “을 (를) 사용하십시오 .

  • 아키텍처 : “표준 아키텍처”arm7, arm64
  • 유효한 아키텍처 : ” arm64 “, armv7 …
  • 활성 아키텍처 만 빌드- 아니요 (특히 연결된 장치가 arm64와 호환되지 않는 경우)

이렇게 :

여기에 이미지 설명 입력

  • 또한, 특히 32 비트 버전 인 경우 Mac에서 iphone과 ipad를 분리하는 것이 도움이되는 것으로 알려져 있습니다.


답변

올바른 아키텍처를 확인한 후 App Store에 제출하기 위해 최종 빌드를 보관할 때 장치가 컴퓨터에 연결되어 있지 않은지 확인하십시오.

이 경고가 표시되는 이유는 연결 한 장치가 아마도 arm64와 호환되지 않기 때문입니다.


답변

Tony가 썼 듯이 두 줄 모두에 이러한 설정을 갖는 것이 중요합니다. 내 (그리고 분명히 당신의) 프로젝트는 arm64가 표준에 추가되기 전에 아직 생성되었으므로 표준으로 표시 되더라도 “유효한 아키텍처”에 반영되지 않습니다 .

제가 한:

  • Project (vs. Target) 구성으로 이동했습니다.
  • 입력 된 (이 자동으로 목표와 스키마에 반영있어 유효한 아키텍처에서 “arm64를”

정리 / 빌드 후 float가 CGFloat 등으로 부적절하게 변환된다는 경고가 표시되므로 설정이 분명히 적용되었습니다.

유효성 검사 경고도 사라졌습니다!

여기에 이미지 설명 입력


답변

Mac에서 물리적 장치를 분리합니다. 장치 목록의 XCode에서 iOS 장치를 선택하고 아카이브를 다시 만듭니다. 그것은 나를 위해 일했습니다.


답변

오늘 저는 다음 단계로 그 문제를 해결합니다.

건물 설정 :

아키텍처 : 표준 아키텍처 (arm7, arm64)-$ (ARCH_STANDARD)

유효한 아키텍처 : armv7 armv7s arm64

  1. 연결된 iPhone으로 앱 정리 및 빌드
  2. iPhone을 분리하고 “iOS 기기”에있는 경우 상단 표시 줄을 확인합니다.
  3. 아카이브
  4. 확인 및 제출


답변

최신 xCode 버전을 사용하여 새 프로젝트를 만들고 빌드 설정을 찾으십시오. 최신 버전을 사용하여 생성 된 새 프로젝트는 기본적으로 64 개를 지원합니다.

여기에 이미지 설명 입력


답변

좋아요 이건 미쳤어 요. 나는 모든 대답을 시도했습니다 . 하지만 arm64이전 armv7armv7s유효한 아키텍처에 배치했을 때만 작동했습니다 .

추신 : xcode version : 7.2