NewGen
xcode 빌드 하다보면, fat 바이너리를 만들때, arm64 아키텍쳐가 중복되어 lipo가 실패되는 경우 본문
* 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 |