내 프레임 워크를 Xcode 10 베타 (10L176w)로 마이그레이션 한 후 다음과 같은 경고를 받기 시작했습니다.
arm64 아키텍처를 x86_64에 매핑합니다. 이 대상의 아키텍처 및 유효한 아키텍처 빌드 설정이 iOS 시뮬레이터 플랫폼에 대해 올바르게 구성되었는지 확인하십시오.
… 그리고 :
armv7 아키텍처를 i386에 매핑합니다. 이 대상의 아키텍처 및 유효한 아키텍처 빌드 설정이 iOS 시뮬레이터 플랫폼에 대해 올바르게 구성되었는지 확인하십시오.
이러한 경고에도 불구하고 빌드 및 단위 테스트는 모두 Ok를 통과합니다. Swift 4.2를 사용하고 있습니다.
그래도 이러한 경고는 무엇입니까?
답변
답변
내 아키텍처 설정과 일치하는 유효한 아키텍처 설정을 변경하여 이러한 경고를 음소거 할 수있었습니다 .$(ARCHS_STANDARD)
이상하게도 armv7 arm64
기본 설정 인과 비교하여 로 표시 armv7 armv7s arm64
되었지만 수동으로 해당 값으로 설정하면 여전히 경고가 발생했습니다. 그 의미가 무엇인지 확실하지 않지만 아직 테스트에서 문제를 발견하지 못했습니다.
답변
대상 또는 프로젝트에 대해 VALID_ARCHS ( “유효한 아키텍처”) 빌드 설정이 재정의되었을 수 있습니다. 빌드하려는 실행 대상에 따라 자동으로 값을 가져와야하는 빌드 설정입니다. 이 재정의의 출처를 파악하면 (재정의시 빌드 설정이 굵게 표시됨)이를 선택하고 삭제 키를 눌러 기본값으로 복원합니다.
답변
답변
다른 답변과 마찬가지로 $(VALID_ARCHS)
(Valid Architectures)를 으로 변경하여 경고를 제거 할 수있었습니다 $(ARCHS_STANDARD)
. 거기에서 모든 파생 데이터를 지우고 Xcode 10.0을 다시 시작했습니다. 이로 인해 경고가 완전히 사라졌습니다. 유효한 아키텍처에서 모든 것을 삭제하면 다른 경고가 나타납니다 ( “유효한 아키텍처를 찾을 수 없음”).
답변
솔루션은 더 간단합니다. 유효한 아키텍처에서는 arm64를 x86_64로 바꾸면됩니다. .
내 프로젝트에서 비슷한 문제와 다음 세 가지 경고가있었습니다.
교체 :
- i386이있는 armv7,
- i386이있는 armv7s,
- 그리고 x86_64가있는 arm64
(경고에서 언급했듯이) 내 해결책이었습니다. 유효한 아키텍처 설정 의 결과 는 다음과 같습니다.
교체 후 위의 세 가지 경고가 사라졌습니다.
아키텍처에 대한 더 자세한 정보는 https://docs.elementscompiler.com/Platforms/Cocoa/CpuArchitectures/ 에서 찾을 수 있습니다.
Xcode에서이 경고의 공식화가 약간 혼란 스럽다고 생각합니다.
답변
Flutter에서 문제가 발생하는 경우 :
-
Podfile, Podfile.lock, Pods 폴더, Runner.xcworkspace, Flutter.framework를 삭제합니다.
-
을 실행
flutter clean
합니다. - 을 실행
flutter build ios
합니다.