본문 바로가기
지속가능티끌/Xcode. 아이폰.맥북.

Xcode . static library . 정적 라이브러리 활용 방법

by i.got.it 2021. 10. 21.

 

개요 

 

Xcode 의  본인 프로젝트에서 정적 라이브러리(파일 확장자 a ) 활용 위한 Xcode 프로젝트에서의 설정 방법 정리.

 

정적 라이브러리 형식으로 제작하는 방법은 다른 글에서 별도 정리 되어 있고 , 본 글에서는 이미 만들어져 있는 정적 라이브러리 활용 방법 정리한다. 

 

참고 . 정적 라이브러리는 프로젝트 빌드시 포함되어 빌드된다.

 - 비교 : 동적 라이브러리는 프로젝트에 포함되어 빌드되지 않고  응용프로그램 실행 시점에 동적 로딩되어 실행된다.

 

 

 

정적 라이브러리 실행가능 아키텍처 확인 하기.

 - 라이브러리가 모든 운영체제 , 모든 CPU 아키텍처를 지원하지 않고 ios 의 CPU arm64 만 지원하는 것도 있고, macOS 의  인텔 CPU i386 ,  x86_64 만 지원하는 것도 있다. 사용할 정적 라이브러리가 지원하는 아키텍처 확인하여 본인이 개발 중인 프로젝트의 실행 아키텍처와 일치 하는지 확인해야한다. 

 

라이브러리 지원 아키텍처 확인 방법 : 터미널창에서 lipo -info 라이브러리파일명 으로 쉽게 확인 가능

참고 : 아이폰 시리즈별 CPU 아키텍처 확인.

 

 

 

정적 라이브러리 파일 배치 경로.

 

정적라이브러리 를 프로젝트에서 사용하려면 2개의 파일( .a 파일과 .h 파일) 이 필요하다. 

 

라이브러리 파일 배치하는 폴더는 반드시 이래야 한다는 일반적 규칙이 있지 않다.  활용하는 개발자 본인의 관리방식에 따라 임의로 정한다. .  

 

통상, 프로젝트 관련 리소스들 관리의 단순함을 위해서는 개발중인 프로젝트의  소스가 있는 동일 폴더에 라이브러리 파일  복사해두고 사용해도 된다. 

 

만일 다른 경로에 라이브러리 파일들이 있다면 프로젝트 Build Setting 에서 path 설정을 필수 기록 필수임.  

 

 

 

Xcode 프로젝트에서  정적 라이브러리 사용 위한 설정. 

 

 

Link Binary With Libraries 에 라이브러리 .a 파일 추가.

 

아래그림처럼 프로젝트 TARGETS 의 Build Phase 의 Link Binary With Libraries 에 라이브러리 (확장자 .a 파일) 추가한다. 

 

 

 

 

Header Search Paths , Library Search Paths 에 경로 추가 

 

프로젝트의 Build Setting 의 Header Search Paths 와 Library Search Paths 에 라이브러리 파일이 있는 폴더 경로 추가. 

헤더파일이 본인 프로젝트 소스와 동일 폴더에 있는 경우에는 Header Search Paths 설정하지 않아도 되나, 다른 경로에 라이브러리 파일을 두고 사용한다면 필수 헤더파일이 있는 경로 설정 해줘야 한다. 

 

 

Other Link Flag 에 -ObjC 추가 

- Build Setting 의 Other Link Flag 에 -ObjC 타이핑 해서 추가 하면됨. 

- 항상 -ObjC 추가 해줘야 하는것은 아니다. 사용할 라이브러리에서 Objective-C 의 클래스 나 카테고리를 사용하는 경우 추가해줘야 한다. 클래스나 카테고리 사용하지 않는 라이브러리 인 경우에는 -ObjC 추가 하지 않아도 됨. 

 

 

 

 

 

 

 

 

본인 코드에서 라이브러리 함수 호출. 

위 설정이후에는 본인 프로젝트의 소스에서 라이브러리 헤더 파일 인클루드 하고 라이브러리에서 제공하는 함수 호출하면된다.

 

 

 

 

 

 

연관 

 

 

 

Xcode . static library . 정적 라이브러리 만들기

개요 Xcode 에서  정적 라이브러리(파일 확장자 a ) 만드는 방법 정리. 정적 라이브러리는 활용하는 응용 프로젝트 빌드시 포함되어 빌드된다.  - 비교 : 동적 라이브러리는 프로젝트에 포함되어

igotit.tistory.com

 

 

 

 

 

 

 


첫 등록 : 2021.10.21

최종 수정 : 

단축 주소 : https://igotit.tistory.com/2963


 

댓글



 

비트코인




암호화폐       외환/나스닥/골드         암호화폐/외환/나스닥/골드
     
현물 |선물 인버스 |선물 USDT       전략매니저(카피트레이딩)         프랍 트레이더 온라인 지원가능. MT4,MT5