Fat Framework 만들기
이번에는 저번 포스팅에 이어서 Fat Framework를 만드는 법을 소개하겠습니다. 프레임워크가 시뮬레이터, 실물 기기에서 모두 동작하기 위해서 x86_64, i386, ARM64, ARMv7 등의 아키텍쳐를 모두 지원하는 프레임워크를 만들어야 합니다. 앱스토어에 배포하기 위해서는 시뮬레이터 아키텍쳐를 반드시 지원하지 않아도 되지만 테스트할 때 다양한 기기를 보유하지 않다면 불편한 점이 많습니다.
Fat Framework로 만들 예제 프레임워크로 SDWebImage 프레임워크를 사용하겠습니다. 일단 기본적으로 Fat Framework는 lipo 명령어로 만들 수 있습니다.
각각의 아키텍쳐로 빌드 후 lipo 명령어를 이용하여 하나의 Fat Framework 를 생성하면 됩니다. 따로 빌드하고 명령어 치는게 귀찮다면 아래와 같이 타겟을 하나 더 추가하여 스크립트를 작성하여 빌드하면 됩니다.
Aggregate Target 추가
먼저 Xcode로 해당 프로젝트를 열어줍니다. Fat Framework를 만들기 위해서 새로운 타겟을 만듭니다. 프로젝트 파일을 선택하고 왼쪽 하단에 + 버튼을 눌러서 Target 추가를 해줍니다.
Cross-platform 탭으로 가면 Other 메뉴에 Aggregate가 있습니다. 선택하고 Next를 눌러주세요. 타겟이름은 UniversalFramework로 했습니다.
왼쪽 상단에 + 버튼을 누르면 Script를 추가할 수 있는 버튼이 있습니다. New Run Script Phase를 선택해줍니다.
그리고 스크립트 창에 아래의 스크립트를 복사하여 붙여넣기 해줍니다.
+ 버튼을 누르면 방금 추가한 타켓이 입력되어 있습니다. 그냥 OK눌러줍니다.
shared 체크박스를 체크해주고 닫아줍니다.
이제 새로운 타겟이 성공적으로 추가되었습니다.
Fat framework 빌드하기
아까 scheme추가 한 곳 메뉴 상단에 Edit Scheme..을 눌러줍니다.
Build Configuration이 Debug로 세팅되어 있는데 Release로 변경해주고 빌드해줍니다.
Fat Framework로 빌드된 프레임워크를 확인합니다. 오른쪽 클릭 후 Show in finder를 하면 해당 경로로 이동할 수 있습니다.
file 명령어로 확인해보니 i386, x86_64, armv7, arm64를 지원하는 프레임워크가 생성되었습니다.
'개발 > iOS' 카테고리의 다른 글
UIScrollView에서 Autolayout 적용하기 (1) | 2017.11.21 |
---|---|
Symbol(s) not found for architecture x86_64 에러 (0) | 2017.11.15 |