본문 바로가기
iOS

[iOS] Static Library만들기와 사용

by 붕어사랑 티스토리 2024. 2. 8.
반응형

1. 프로젝트 만들기

 

 

Xcode에서 Static 라이브러리를 선택하고 언어를 선택한다. 오브젝트C는 언어가 그지같으니 스위프트 선택

 

 

 

 

그럼 이렇게 프로젝트가 생성되는데 열심히 코드를 작성해주자

 

 

 

 

2. 빌드하기

 

빌드 타겟을 정해주고 Product->build 혹은 Start버튼으로 빌드 해주자.

 

여기서 주의할건, iOS, iOS 시뮬레이터, 아이패드, 맥북등 타겟마다 다 따로 설정해줘서 빌드해야 한다. 본인이 원하는 타겟에 따라 적절히 선택해주자

 

 

 

빌드가 완료되면 Product -> show Build Folder in Finder를 선택해주자. 그럼 아래와 같이 파일들이 나온다

 

 

 

 

여기서 봐야할건 .a 파일과 swiftmodule이다. 둘다 사용되므로 다 챙기자!

 

 

 

 

 

3. 다른 프로젝트에서 사용하기

 

 

먼저 아래에 BuildPhases 탭에서 Link Binary With Libraries에다가 .a 파일을 드래그해서 던져준다

 

 

그다음 Build Settings에서 .a 파일의 위치를 지정해준다.

 

 

 

다음으로 Import Paths에 swiftmodule 폴더의 위치를 지정해준다. 라이브러리와 똑같은 경로로. 지정해주는 예시이다.

 

 

 

 

 

 

 

만약 라이브러리르 오브젝트C로 만들었다면 헤더파일 경로를 지정해 주어야 한다. 이는 BuildSettings의 Header Search Path에서 설정 가능하다

 

 

 

 

마지막으로 라이브러리를 코드에서 import 하려면 .a파일 이름에 lib을 빼고 Import 한다.

 

ex) libMyLib.a 이면 import MyLib 이런식으로

 

 

 

 

4. Flutter에서 사용

 

Flutter에서는 기본적으로 Runner 폴더 밑에 Runner-Bridging-Header.h 라는 파일이 있다.

 

  • 이 브릿지 파일에 ObjectC로 작성된 라이브러리의 헤더파일을 import하고
  • 프로젝트에 .a파일과 헤더파일을 추가시켜주면

라이브러리 안에 있는 함수들을 전역으로 사용할 수 있다.

 

 

 

반응형

댓글