iOS/iOS
iOS) XCFramework 생성
Brad_Heo
2024. 4. 22. 16:15
배포 목적 Framework 생성
터미널 명령어를 이용해 framework를 생성할 수 있지만, runscript을 이용해 빌드하면 자동으로 Framework가 생기도록 설정해보자.
기능 구현은 생략 후 진행하겠습니다.
XCFramework를 생성하기 위해선 아래 순서대로 작업
- 프로젝트 설정
- Run Script 작업
a. TARGETS 추가
b. Run Script 작성- Archive 생성
- Frameworok 생성
- Build
1. 프로젝트 설정
Build Setting
- Build Options - Build Libraries for Distribution → Yes
- Deployment - Skip install → No
- Architectures - Architectures - 기본
Run Script 작업
a. TARGETS 추가
Choose a template for your new target → Other → Aggregate
b. Run Script 작성
아카이브 생성(iOS, iOS Simulator)
xcodebuild archive \
-project "${PROJECT_NAME}.xcodeproj" \
-scheme "${PROJECT_NAME}" \
-destination "generic/platform=iOS" \
-archivePath "${BUILD_DIR}/Xcarchive/iphoneos.xcarchive"
xcodebuild archive \
-project "${PROJECT_NAME}.xcodeproj" \
-scheme "${PROJECT_NAME}" \
-destination "generic/platform=iOS Simulator" \
-archivePath "${BUILD_DIR}/Xcarchive/iphonesimulator.xcarchive"
Framework 생성
xcodebuild -create-xcframework \
-archive "${BUILD_DIR}/Xcarchive/iphoneos.xcarchive" \
-framework "${PROJECT_NAME}.framework" \
-archive "${BUILD_DIR}/Xcarchive/iphonesimulator.xcarchive" \
-framework "${PROJECT_NAME}.framework" \
-output "${PROJECT_DIR}/"${PROJECT_NAME}".xcframework"
# Open the project directory in Finder
open "${PROJECT_DIR}"
빌드
Error (Xcode): Sandbox: rsync(13885) deny(1)
에러 발생 시
PROJECT → Build Settings → Build Options → User Script Setting - No