XCFramework 생성 및 적용 해보기

0

Xcode

목록 보기
1/1
post-thumbnail

XCFramework는 멀티 플랫폼(ios, macos, tvos, watchos)등의 통합을 지원합니다.

XCFramework 생성

1. framework project 생성

framework project 생성

2. Swift 파일 생성 및 프레임워크 작성

프레임워크 작성시 외부에서 사용한 class 혹은 func 의 접근 제한자(Access Modifier)는 public 또는 open 로 하여야 외부에서 사용이 가능합니다.

예시 이미지
예시 이미지

3. Build Setting 변경

Targets - TestFramework - Build Settings
1. Build Options - Build Libraries for Distribution=YES
1
2. Build Options - Validate Workspace=YES

3. Deployment - Skip install=NO

4. terminal project Directory 이동

제 프레임워크 경우 ~/Desktop/TestFramework 에 위치합니다.

cd ~/Desktop/TestFramework

5. iOS, iOS Simulator Archive 생성

  1. iOS Archive
xcodebuild archive\
 -project TestFramework.xcodeproj\
 -scheme TestFramework\
 -configuration Release\
 -sdk iphoneos\
 -destination 'generic/platform=iOS'\
 -archivePath ./build/TestFramework.framework-iphoneos.xcarchive

해당 명령어를 치고 Archive 생성 성공하면 ** ARCHIVE SUCCEEDED ** 가 뜹니다.

  1. iOS Simulator
xcodebuild archive\
 -project TestFramework.xcodeproj\
 -scheme TestFramework\
 -configuration Release\
 -sdk iphonesimulator\
 -destination 'generic/platform=iOS Simulator'\
 -archivePath ./build/TestFramework.framework-iphonesimulator.xcarchive

해당 명령어를 치고 Archive 생성 성공하면 ** ARCHIVE SUCCEEDED ** 가 뜹니다.

XCFramework 생성

xcrun xcodebuild -create-xcframework \
-framework './build/TestFramework.framework-iphoneos.xcarchive/Products/Library/Frameworks/TestFramework.framework' \
-framework './build/TestFramework.framework-iphonesimulator.xcarchive/Products/Library/Frameworks/TestFramework.framework' \
-output './build/TestFramework.xcframework'

여기까지 XCFramework를 생성 하는 방법을 설명 했습니다.

XCFramework 적용

1. TestApp 생성

2. TestFramework.xcframework 추가

Frameworks 폴더 생성 후 TestFramework.xcframework를 추가합니다. 추가시 Copy items if needed를 체크하여, 프로젝트 내 프레임워크를 카피합니다.

카피가 완료 되면, project navigator는 아래 이미지와 같습니다.

3. Targets - General setting 변경

4. Test

viewController내에 테스트코드를 작성 해봅니다.
해당 결과는 다음과 같습니다.

필자의 PC환경은 M1(ARM) macbook pro 이며 intel mac에서 오류가 발생할 수도 있습니다.
추가로 2019년 WWDC - Binary Framework in Swift를 시청하시면 좋을것 같습니다.

다음 포스트는 private cocoapods으로 해당 framework를 배포하는 방법을 작성하고자 합니다.

잘못된 자료 수정요청 및 의견 공유는 댓글로 달아주시면 감사하겠습니다!

profile
IOS 개발하며 먹고사는 게으른 개발자

0개의 댓글