NewGen

xcode 빌드 하다보면, fat 바이너리를 만들때, arm64 아키텍쳐가 중복되어 lipo가 실패되는 경우 본문

IOS

xcode 빌드 하다보면, fat 바이너리를 만들때, arm64 아키텍쳐가 중복되어 lipo가 실패되는 경우

Deep Learning 2021. 6. 17. 15:42

* xcode 빌드 하다보면, fat 바이너리를 만들때, arm64 아키텍쳐가 중복되어 lipo가 실패되는 경우가 발생.

  • 빌드시 시뮬레이터에 아키텍쳐가 arm64가 포함되어 lipo 로 fat binary를 만들지 못하는 경우

xcodebuild -target "${PROJECT_NAME}" -configuration ${CONFIGURATION} -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO BUILD_DIR="${BUILD_DIR}" BUILD_ROOT="${BUILD_ROOT}" EXCLUDED_ARCHS="arm64" clean build

 

>> EXCLUDED_ARCHS="arm64" 를 추가하여 빌드하면 해당 아키텍쳐 (여기서는 arm64)가 빠지고 바이너리가 생성된다.

 

이렇게 만들지 않고, 위 옵션없이 바이너리가 생성된 경우,

OS업데이트 후, 아키텍쳐 중복에러로 lipo 실패되는 경우,

1) 기존 파일에서 중복 아키텍쳐를 제거, (여기서는 arm64)하여 결${PROJECT_NAME}2.a 를 생성. 

lipo -remove arm64 "${BUILD_DIR}/${CONFIGURATION}-iphonesimulator/lib${PROJECT_NAME}.a" -output "${BUILD_DIR}/${CONFIGURATION}-iphonesimulator/lib${PROJECT_NAME}2.a"

 

2)기존 파일 (여기서는 ${PROJECT_NAME}.a) 를 삭제.

3) rename ${PROJECT_NAME}2.a -> ${PROJECT_NAME}.a 로 변경.

이렇게 하면 arm64가 빠진 ${PROJECT_NAME}.a 를 만들수 있다.

 

 

 

 

'IOS' 카테고리의 다른 글

너튜브팟 ?  (1) 2022.03.31
M1 맥북에서 Flutter 개발환경 세팅 : 초간결 버전.  (1) 2021.07.22
전송속도 계산  (0) 2021.06.17
ios 버전별로 현재 점유율 확인  (0) 2021.06.17
get top Viewcontroller  (0) 2021.06.17
Comments