iOS/iOS

iOS) XCFramework 생성

Brad_Heo 2024. 4. 22. 16:15

배포 목적 Framework 생성


터미널 명령어를 이용해 framework를 생성할 수 있지만, runscript을 이용해 빌드하면 자동으로 Framework가 생기도록 설정해보자.

기능 구현은 생략 후 진행하겠습니다.

XCFramework를 생성하기 위해선 아래 순서대로 작업


  1. 프로젝트 설정
  2. Run Script 작업
    a. TARGETS 추가
    b. Run Script 작성
    • Archive 생성
    • Frameworok 생성
  3. 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

참고자료


Error (Xcode): Sandbox: rsync(13885) deny(1) - 인프런

배포 가능한 FrameWork 만들기 (XCFramework)

'iOS > iOS' 카테고리의 다른 글

음성 녹음, 재생  (0) 2023.09.04
iOS) UIVisualEffectBackdropView 제거  (0) 2023.07.17
iOS) UIViewController  (0) 2022.12.06
iOS) 프레임워크와 라이브러리에 대해서  (0) 2022.10.19