2024.02.23 - [iOS/SWIFT] - [Swift] iOS 커스텀 프레임워크 생성하고 사용하기
2024.02.26 - [iOS/SWIFT] - [Swift] 프레임워크와 라이브러리 (1)
2024.02.27 - [iOS/SWIFT] - [Swift] 프레임워크와 라이브러리 (2) UIKit SnapKit으로 비교하기
2024.02.29 - [iOS/SWIFT] - [Swift] 프레임워크와 라이브러리 (3) 접근제한자
커스텀 프레임워크는 코드의 재사용성을 높이고 앱 개발을 효율적으로 할 수 있게 해줍니다
이렇게 속성, 메서드를 하나로 묶어서 외부로부터의 직접적 접근을 제한 + 객체의 메서드를 통해서만 변경할 수있게 하는 것을
객체지향의 캡슐화 라고 하는데요!
코드를 기능/논리적 단위로 분해해서 관리하는 프로그래밍 기법이라고 합니다
저는 팀 프로젝트 디자인 시스템을 구축하게 되면서 프레임워크나 라이브러리로 캡슐화 해볼것을 제안받았는데요
재밌어보여서 한 번 해봤습니다 ㅎ
캡슐화.. 접근제한자.. 자세한 설명은 다음포스팅에 적고!
이번에서는 "생성 & 사용"에만 집중해서 그 과정을 보여드릴게요
참고로 저는 제 프로젝트에만 사용하려고 만들었습니다 배포는 하지 않아요!
🩵 프로젝트 생성하기
framework 프로젝트를 생성해줘요!
Test, Docs는 제외하고 만들어주었어요
사용할 버전으로 선택해주고, 타겟 기기도 변경해주면 좋아요
저는 iOS15, iPhone 한정으로 해두었습니다
🩵 코드 작성하기
프로젝트 폴더 하위에 바로 swift 파일을 추가해주세요
여기에 적당히 사용하실 코드를 작성하시면 돼요
저도 테스트 용도로 print 해주는 함수를 하나 만들었어요
import Foundation
public class HelloWorld {
public init() {}
public func printMessage(messageString: String) {
print(messageString)
}
}
🩵 빌드하기
커멘드 + B를 눌러서 빌드해줍니다
다른 블로그를 봤을 때는 빌드하면 Projects 라는 폴더가 현재 디렉토리에 바로 생성된다고 했는데 저는 안 되서 확인하니
이 경로로 진입하면 빌드된 폴더를 확인할 수 있었어요!!
.framework 확장자로 되어있는 파일을 사용할겁니다!
🩵 실제 작업할 프로젝트에 프레임워크 추가하기
프레임워크 폴더를 드래그 앤 드롭하면 이런 창이 떠요
맨 위의 Copy items if needed 를 선택해서 복제하는 형태로 추가해줍니다
그런다음 프로젝트의 Frameworks, Libraries, and Embedded Contents 를 확인해보면
Do Not Embed 상태로 추가되어있는 걸 확인하실 수 있어요.
이걸 Embed & Sign으로 변경해주어야 사용할 수 있습니다 (요것은 dynamic framework 라는 종류로 선택해준다는 의미에요)
🩵 사용 테스트
간단하게 AppDelegate에서 테스트해주었어요
import UIKit
import Example_Framework
@main
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
let helloWorld = HelloWorld()
helloWorld.printMessage(messageString: "Hello my first framework!")
return true
}
...
}
성공적으로 프레임워크 추가하고 사용하는 걸 해냈습니다 ʬʬꉂ(˃̤▿˂̤ *)
정말 프로젝트를 만들고, 적용하는 과정만 나열해봤는데 어떠신가요
중간중간 으..으응? 스럽게 넘어간 부분이 있지는 않으신가요?
프레임워크? 라이브러리?
접근 제한자?
static, dynamic?
ㅎㅎ 뭘까요?
다음 포스팅으로는 이런 으응? 했던 부분에 대한 설명을 가지고 돌아올게요~
~ヾ(^∇^)
2024.02.23 - [iOS/SWIFT] - [Swift] iOS 커스텀 프레임워크 생성하고 사용하기
2024.02.26 - [iOS/SWIFT] - [Swift] 프레임워크와 라이브러리 (1)
2024.02.27 - [iOS/SWIFT] - [Swift] 프레임워크와 라이브러리 (2) UIKit SnapKit으로 비교하기
2024.02.29 - [iOS/SWIFT] - [Swift] 프레임워크와 라이브러리 (3) 접근제한자
'iOS > Swift' 카테고리의 다른 글
[Swift] 프레임워크와 라이브러리 (2) UIKit SnapKit으로 비교하기 (0) | 2024.02.27 |
---|---|
[Swift] 프레임워크와 라이브러리 (1) (0) | 2024.02.26 |
[Swift] http API 허용하기 - Info.plist (0) | 2024.02.21 |
[Swift] API KEY 숨기기 - plist 사용하기 (0) | 2024.02.20 |
[Swift] 위치 정보 접근 권한 (GPS) 요청하고 처리하기 (1) | 2024.02.14 |