1. Statically Linked Library
- 설명:
- 정적으로 링크된 라이브러리입니다.
- 앱 빌드 시 라이브러리 코드가 앱 바이너리에 직접 포함됩니다.
- 장점: 앱 실행 시 외부 의존성 없이 작동하므로 런타임에 의존성을 찾지 않아도 됩니다.
- 단점: 바이너리 크기가 커질 수 있습니다. 앱 업데이트 시 전체 앱을 다시 배포해야 합니다.
- 사용 시점:
- 앱에서 실행 시간 동안 외부 라이브러리의 추가 로딩 없이 빠르게 실행되기를 원하는 경우.
- 앱 크기에 크게 민감하지 않은 경우.
2. Dynamically Linked Library
- 설명:
- 동적으로 링크된 라이브러리입니다.
- 라이브러리는 앱이 실행될 때 시스템에서 적재됩니다.
- 장점: 바이너리 크기가 작고, 메모리 절약이 가능합니다. 시스템에서 라이브러리를 적재하기 때문에 여러 앱이 동일한 라이브러리를 공유할 수 있습니다.
- 단점: 앱 실행 시 약간의 성능 오버헤드가 발생할 수 있으며, 시스템에서 라이브러리를 적재하지 못하면 오류가 발생할 수 있습니다.
- 사용 시점:
- 앱의 바이너리 크기를 줄이기 원하는 경우.
- 실행 시점에 라이브러리 로딩이 필요한 경우.
3. Strict (No IDFA Collection) Library
- 설명:
- IDFA(Identifier for Advertisers)를 수집하지 않는 버전입니다.
- 앱이 광고 식별자(IDFA)를 사용하지 않는 경우, 이 라이브러리를 통해 앱의 개인정보 보호 규정을 강화할 수 있습니다.
- 장점: 개인정보 보호에 민감한 앱이나 IDFA를 필요로 하지 않는 앱에 적합하며, Apple의 개인정보 보호 정책을 준수하는 데 유리합니다.
- 단점: IDFA 수집 기능이 필요할 경우 사용할 수 없습니다.
- 사용 시점:
- 앱에서 IDFA를 수집할 필요가 없거나 정책적으로 금지된 경우.
- 개인정보 보호 관련 규정을 엄격히 준수해야 하는 경우.
요약
- Static: 앱 빌드 시 라이브러리가 바이너리에 포함되어 배포되며, 실행 속도가 빠르지만 크기가 커집니다.
- Dynamic: 런타임에 라이브러리가 적재되며, 앱 크기는 작지만 적재 시 성능 오버헤드가 발생할 수 있습니다.
- Strict: IDFA(광고 식별자)를 수집하지 않는 버전으로, 개인정보 보호가 중요한 앱에 적합합니다.
각 버전은 앱의 요구 사항에 따라 선택할 수 있습니다.