정적라이브러리 생성후 배포 시 시뮬레이터로 작업하는 프로젝트의 경우 라이브러리에 해당 아키텍쳐가 포함되어있지 않아 실행할 수 없는 상황이 발생하곤 합니다. 이럴경우 생성된 정적라이브러리에 해당 아키텍처를 포함시켜줄 수 있습니다.
아래의 과정은 배포하는 정적라이브러리를 사용하는 프로젝트에서 시뮬레이터 빌드가 가능하도록 Fat Static Library를 생성하는 방법입니다.
Fat Static Library(이하 Fat 라이브러리) 생성 순서
1. Device 용 빌드
빌드 패스에 ’Release-iphoneos’ 폴더에 저장 됨.
2. Simulator 용 빌드
빌드 패스에 ’Release-iphonesimulator’ 폴더에 저장 됨.
3. Xcode 메뉴에서 Project Seettings… 창을 열면 아래와 같이 빌드 디렉토리 경로를 볼 수 있다.
4. 또는 Xcode 의 Project Navigator 에서 Products에 빌드된 파일로 빌드된 디렉토리를 확인할 수 있다.
5. 위 4번 파일을 이용하여 빌드된 디렉토리로 이동하면 다음과 같다.
6. 빌드된 라이브러리 파일을 Device, Simulator에 따라 파일이름을 각각 ‘libXXXD.a’, ‘libXXXS.a’로 바꿔 Desktop에 복사한다.
7. 콘솔창을 띄워 Desktop폴더로 이동
cd ~/Desktop
8. 콘솔창에서 lipo명령을 통해 Device와 Simulator 로 빌드된 두 라이브러리를 합친다.
lipo -create ./libXXXD.a ./libXXXS.a -output ./libXXX.a
9. 8번에서 생성된 Fat 라이브러리 Architectures 를 확인 하도록 한다.
lipo -I libXXX.a
10. 9번 결과가 Device 아키텍쳐(armv7, arm64, armv7s)과 Simulator 아키텍쳐(i386, x86_64)가
포함되었다면 정상이므로 ‘libXXX.a’ 을 배포하도록 한다.
2020/12/10 - [iOS/Tips] - Fat Static Library 빌드 (2/2)
2020/12/10 - [iOS/Tips] - Fat Static Library 빌드 (1/2)
2020/12/10 - [iOS/Tips] - Custom UserAgent 설정
2020/12/10 - [iOS/Tips] - CocoaPods 설치 및 제거
2020/12/10 - [iOS/Tips] - Clang diagnostic 경고 무시하기
2020/12/10 - [개발노트] - Bluetooth UUID
2020/12/08 - [개발노트] - 모바일 앱 메모리덤프 이슈 해결방법
2020/12/08 - [프로그래밍/Java Script] - Android, iOS 앱 설치여부 체크 및 스토어 이동
2020/08/21 - [Android/Tips] - aab파일 apk파일로 변환
2020/08/11 - [iOS/Swift] - WKWebView 화면 출력 완료 이벤트
2020/08/06 - [iOS/Tips] - 개발관련 폴더 경로
'개발 > iOS' 카테고리의 다른 글
웹뷰에서 javascript 함수 동기식 호출 (0) | 2020.12.10 |
---|---|
Fat Static Library 빌드 (2/2) (0) | 2020.12.10 |
Custom UserAgent 설정 (0) | 2020.12.10 |
CocoaPods 설치 및 제거 (0) | 2020.12.10 |
Clang diagnostic 경고 무시하기 (0) | 2020.12.10 |