프로토콜 파일이나 특정 모듈을 만들때 필요한것이 바로 라이브러리화 시켜서 집어 넣는것입니다.
안드로이드에서는 .aar 파일로 만들어서 추가하였는데 Swift에서는 다릅니다.
일단 만들고자 하는 프레임워크를 만들어야합니다.
작성자 버전 참고해주세요
Swift 5.3.2
Xcode : 12.4
일단 기본적으로 새롭게 프로젝트를 만들어 줍니다.
내리다 보면 아래와 같이 Framework라고 있습니다.
프레임워크 프로젝트를 만들어주시고 help.xcodeproj 라는 xcode프로젝트 파일도 생성됩니다.
새롭게 .swift 파일을 만들어 줍니다.
저는 help.swift로 만들겠습니다.
그리고 원하는 프레임워크를 개발하시면 됩니다.
*초보적인 실수로 public 접근지정자 까먹으시면 안됩니다. 나중에 참조할때 찾을 수 없어서 귀찮습니다...
또한 추가할 메인 프로젝트와 프레임워크간의 빌드 타겟 버전도 맞춰주셔야 합니다.
그러면 이제 기존에 작성하던 Framework 를 종료합니다.
기존에 작성하던 메인 프로젝트를 우클릭 후 'Add Files to '~~' 를 클릭합니다.
그리고 Framework가 들어있는 디렉토리를 찾아가서 xcodeproj 파일을 추가(Add)해줍니다.
그러면 프로젝트에 해당 파일이 추가가 되어있습니다.
그리고 작성하시던 Swift 파일에서
Import 하시면 끝납니다.
Xcode 버전 차이인지 제가 실수를 한건지 다른분들은 프로젝트 General 설정에서 추가를 하시던데 일단 저는 그냥 했는데 참조가 되었습니다.
**************수정
흠...public 으로 class를 지정했음에도 찾지 못하는 class가 있군요... 다른건 찾는데 그 녀석만 못찾고 있습니다. 뭐가 문제인지 발견하고 추가해서 업데이트 하도록 하겠습니다.
아직 IOS를 시작한지 몇주되지 않아서 공부겸 기록하려고 했는데 참 많이 배우는것 같습니다.
다시 메인프로젝트의 'Build Phase' 를 찾아갑니다. Genral 탭이 있는 메뉴에 있습니다.
하단 보시면 Embed Frameworks에 저 공구상자모양 Framework 파일을 추가하시면 제대로 묶이더군요..
제가 뭔가 많이 놓친듯한데 알려주시면 너무 감사드리겠습니다.
'프로그래밍 > IOS (Swift)' 카테고리의 다른 글
[Swift] NavigationController 사용시 코드로 Navigation Item 수정하기 & Swift 기본 이미지 사용하기(System Image) (0) | 2021.04.01 |
---|---|
[Swift] Cocoapods 이용하여 MAlert 라이브러리 사용하기 (0) | 2021.03.29 |
[Swift] 형 변환 Character to Byte(UInt8) / Byte(UInt8) to Character (0) | 2021.03.26 |
[Swift] Java 문법을 Swift에서 사용하기 - 배열,문자열 중간 추출 (System.arraycopy, .subString) 등 (0) | 2021.03.25 |
[Swift] EXC_BAD_ACCESS 에러 해결 (0) | 2021.03.18 |