목차
티스토리 뷰
안녕하세요 🐾
커스텀 프레임워크 구현 중 기능의 로직과 관련된 코드를 숨겨야 하는 요구가 있었습니다.
처음엔 접근제어자 자알 써서 캡슐화하면 보이지 않을거라 생각했지만,
CocoaPod으로 배포 후 테스트 프로젝트에서 Pods 폴더에서 커스텀 프레임워크를 살펴보니 소스코드들이 적나라하게 보였습니다. 🤣
소스코드를 숨기기 위해서는 숨기고 싶은 소스 코드들을 바이너리 프레임워크 형태로 제공해야 합니다.
즉, 아래와 같은 순서로 진행됩니다.
- 주요 로직에 해당되는 코드(숨기고 싶은 코드) 바이너리 프레임워크로 만든다.
- 커스텀 프레임워크에서 바이너리 프레임워크를 Embed한 후, 바이너리 프레임워크를 호출하여 필요한 부분을 구현한다.
- podspec에 verndored_frameworks를 명시한 후 커스텀 프레임워크 배포
위 순서에 대한 과정을 간략하게 살펴볼까요?
※ 시작에 앞서, 제가 진행한 과정은 CocoaPod 기준이며, CocoaPod 라이브러리 프로젝트가 생성되어 있다는 전제하에 진행합니다. 만약Pod 생성과 관련된 글을 참고하시려면, [iOS] Cocoapod Private Pod 생성 및 배포 글을 참고해주세요.
1. 바이너리 프레임워크 만들기
커스텀 프레임워크의 주요 로직에 해당하는 코드를 xcframework로 만듭니다.
xcframework 생성 과정은 [Swift] 커스텀 프레임워크 생성 및 사용 글의 목차 2번까지 진행 하시면 됩니다.
2. 바이너리 프레임워크 추가
커스텀 프레임워크에 바이너리 프레임워크를 추가합니다.
아래의 이미지와 같은 형태를 보시면, 커스텀 프레임워크에서 공개될 소스파일은 상단의 박스안에 있는 클래스들이고,
실질적인 기능에 대한 로직 관련 코드는 하단 박스의 .xcframework에 담겨있는 구조입니다.
3. 커스텀 프레임워크 배포
podspec에 s.vendored_frameworks
을 통해 추가된 .xcframework의 경로를 추가한 후 배포를 진행합니다.
배포 후 테스트 프로젝트에서 해당 커스텀 프레임워크를 설치해보면 아래와 같이 숨기고 싶은 소스코드가 바이너리에 포함되어있어 보여지지 않게 됩니다.
혹시나 틀린 부분이 있다면 알려주세요. 감사합니다 :)
'iOS > Swift' 카테고리의 다른 글
[iOS] Code Snippet(코드 스니펫), 코드 즐겨찾기 (0) | 2023.06.14 |
---|---|
[iOS] SwiftLint 적용하기 (0) | 2023.06.05 |
[iOS] Moya 적용하기 (0) | 2023.06.01 |
[iOS] 커스텀 뷰 만들기 (0) | 2023.05.25 |
[iOS] 커스텀 프레임워크 생성 및 사용 (3) | 2023.05.22 |
- Total
- Today
- Yesterday
- swift reactorkit
- swift 구글 로그인
- swift quick
- iOS Unit Tes
- XCTest
- Firebase Distribution
- swift xctest
- ios google signin
- ios mvvm
- swift nimble
- iOS Framework
- nimble
- swift google sdk
- iOS 테스트 코드
- swift google signin
- Quick
- iOS 유닛테스트
- swift 구글 sdk
- iOS Nimble
- ios reactorkit
- iOS 단위테스트
- swift google login sdk
- ios 구글 로그인 sdk
- swift framework
- XCFramework
- iOS Quick
- swift google login
- Framework
- ios google
- ios xcframework
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |