ios - 출시일 - 시에라 하이시에라 차이




명령 행 터미널에서 비트 코드 활성화 및 비트 코드 비활성화로 장치 및 유니버설 구성을위한 iOS 프레임 워크 만들기 (2)

xcodebuild 인수를 추가하기 만하면됩니다.

ENABLE_BITCODE=NO 비트 코드 비활성화)

ENABLE_BITCODE=YES 비트 코드 사용 가능)

예를 들어

xcodebuild -target "${PROJECT_NAME}" ONLY_ACTIVE_ARCH=NO -configuration ${CONFIGURATION} -sdk iphoneos BUILD_DIR="${BUILD_DIR}" BUILD_ROOT="${BUILD_ROOT}" clean build ENABLE_BITCODE=NO
#!/bin/sh

UNIVERSAL_OUTPUTFOLDER=${BUILD_DIR}/${CONFIGURATION}-universal

# make sure the output directory exists
mkdir -p "${UNIVERSAL_OUTPUTFOLDER}"

# Step 1. Build Device and Simulator versions
xcodebuild -target "${PROJECT_NAME}" ONLY_ACTIVE_ARCH=NO \
    -configuration  ${CONFIGURATION} -sdk iphoneos  \
    BUILD_DIR="${BUILD_DIR}" BUILD_ROOT="${BUILD_ROOT}" clean build
xcodebuild -target "${PROJECT_NAME}" -configuration ${CONFIGURATION} \
    -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO BUILD_DIR="${BUILD_DIR}" \
    BUILD_ROOT="${BUILD_ROOT}" clean build

# Step 2. Copy the framework structure (from iphoneos build) to the universal folder
cp -R "${BUILD_DIR}/${CONFIGURATION}-iphoneos/${PROJECT_NAME}.framework" "${UNIVERSAL_OUTPUTFOLDER}/"


# Step 4. Create universal binary file using lipo and place the combined executable in the copied framework directory
lipo -create -output "${UNIVERSAL_OUTPUTFOLDER}/${PROJECT_NAME}.framework/${PROJECT_NAME}" \
    "${BUILD_DIR}/${CONFIGURATION}-iphonesimulator/${PROJECT_NAME}.framework/${PROJECT_NAME}" \ 
    "${BUILD_DIR}/${CONFIGURATION}-iphoneos/${PROJECT_NAME}.framework/${PROJECT_NAME}"

# Step 5. Convenience step to copy the framework to the project's directory
cp -R "${UNIVERSAL_OUTPUTFOLDER}/${PROJECT_NAME}.framework" "${PROJECT_DIR}"

# Step 6. Convenience step to open the project's directory in Finder
open "${PROJECT_DIR}"

위의 쉘 스크립트를 사용하여 Xcode 빌드 옵션에서 장치 및 범용 프레임 워크를 만듭니다.

위의 쉘 스크립트와 함께 명령 터미널에서 iOS 프레임 워크를 생성 / 생성 할 수 있습니까?

  • 1) 장치 비트 코드 비활성화 프레임 워크 생성
  • 2) 장치 비트 코드 활성화를위한 프레임 워크 생성
  • 3) 유니버설 비트 코드 비활성화 프레임 워크 생성
  • 4) 범용 비트 코드 활성화를위한 프레임 워크 생성

명령 터미널에서 iOS 프레임 워크를 생성 / 생성하는 단계를 알려주십시오. 가장 좋은 설명을 주셔서 감사합니다.


게시 한 쉘 스크립트에서 # Step 1. Build Device and Simulator versions 의 코드를 # Step 1. Build Device and Simulator versions 을 다음과 같이 적절하게 # Step 1. Build Device and Simulator versions .

1) 장치 비트 코드 비활성화 프레임 워크 생성 :

xcodebuild -target "${PROJECT_NAME}" ONLY_ACTIVE_ARCH=NO \
-configuration  ${CONFIGURATION} -sdk iphoneos  \
BUILD_DIR="${BUILD_DIR}" BUILD_ROOT="${BUILD_ROOT}" clean build ENABLE_BITCODE=NO
xcodebuild -target "${PROJECT_NAME}" -configuration ${CONFIGURATION} \
-sdk iphonesimulator ONLY_ACTIVE_ARCH=NO BUILD_DIR="${BUILD_DIR}" \
BUILD_ROOT="${BUILD_ROOT}" clean build ENABLE_BITCODE=YES

2) 장치 비트 코드 활성화를위한 프레임 워크 생성

xcodebuild -target "${PROJECT_NAME}" ONLY_ACTIVE_ARCH=NO \
-configuration  ${CONFIGURATION} -sdk iphoneos  \
BUILD_DIR="${BUILD_DIR}" BUILD_ROOT="${BUILD_ROOT}" clean build ENABLE_BITCODE=YES
xcodebuild -target "${PROJECT_NAME}" -configuration ${CONFIGURATION} \
-sdk iphonesimulator ONLY_ACTIVE_ARCH=NO BUILD_DIR="${BUILD_DIR}" \
BUILD_ROOT="${BUILD_ROOT}" clean build ENABLE_BITCODE=YES

3) 유니버설 비트 코드 비활성화 프레임 워크 생성

xcodebuild -target "${PROJECT_NAME}" ONLY_ACTIVE_ARCH=NO \
-configuration  ${CONFIGURATION} -sdk iphoneos  \
BUILD_DIR="${BUILD_DIR}" BUILD_ROOT="${BUILD_ROOT}" clean build ENABLE_BITCODE=NO
xcodebuild -target "${PROJECT_NAME}" -configuration ${CONFIGURATION} \
-sdk iphonesimulator ONLY_ACTIVE_ARCH=NO BUILD_DIR="${BUILD_DIR}" \
BUILD_ROOT="${BUILD_ROOT}" clean build ENABLE_BITCODE=NO

4) 범용 비트 코드 활성화를위한 프레임 워크 생성

 xcodebuild -target "${PROJECT_NAME}" ONLY_ACTIVE_ARCH=NO \
-configuration  ${CONFIGURATION} -sdk iphoneos  \
BUILD_DIR="${BUILD_DIR}" BUILD_ROOT="${BUILD_ROOT}" clean build ENABLE_BITCODE=YES
xcodebuild -target "${PROJECT_NAME}" -configuration ${CONFIGURATION} \
-sdk iphonesimulator ONLY_ACTIVE_ARCH=NO BUILD_DIR="${BUILD_DIR}" \
BUILD_ROOT="${BUILD_ROOT}" clean build ENABLE_BITCODE=YES

편집하다:
프레임 워크를 빌드하려면 다음 중 하나를 수행하십시오.
1. 각 구성에 대한 코드를 ./<nameOfTheShellScriptFile>.sh 터미널로 이동하여 쉘 스크립트가 들어있는 폴더로 이동하여 ./<nameOfTheShellScriptFile>.sh 실행하여 쉘 스크립트를 실행 ./<nameOfTheShellScriptFile>.sh . 하지만 빌드 설정을 사용할 수 있는지 확인하십시오. 그러면 ${BUILD_DIR}/${CONFIGURATION}-universal 디렉토리에 적절한 구성으로 프레임 워크가 생성됩니다.
2. Xcode에 실행 스크립트를 추가하십시오. Xcode에서 프로젝트를 열고 계획 드롭 다운 (Stop 버튼 옆)을 클릭하고 프레임 워크 구성표를 선택하십시오. 드롭 다운을 다시 열고 "Edit Scheme ..."을 클릭하십시오. 왼쪽에는 여섯 가지 동작이 표시됩니다. 스크립트를 추가하는 것이 더 바람직한 행동을 선택합니다 (모든 실행 작업에서이 보편적 인 프레임 워크를 만들 것인지 또는 보관할 때만 만들 것인지). 해당 조치를 삭제하고 사후 조치를 클릭하십시오. + 버튼을 클릭하여 새로운 액션을 추가하고 "New Run Script Action"을 클릭하십시오. 적절한 빌드 설정을 얻으려면 프레임 워크 대상에 "빌드 설정 제공"을 설정하십시오. 텍스트 영역에 스크립트를 붙여넣고 닫기를 클릭하십시오. 이제 스크립트를 실행하는 작업을 수행 할 때마다 스크립트가 실행되어 장치 및 시뮬레이터 아키텍처에 대한 프레임 워크를 다시 빌드하고 유니버설 프레임 워크를 프로젝트 디렉토리에 배치합니다. 특히 프로젝트가 큰 경우이 작업을 완료하는 데 약간의 시간이 걸리므로 프레임 워크가 포함 된 프로젝트 디렉토리를 찾기 위해 탐색기가 열릴 때까지 참을성있게 기다려주십시오. 이제 다른 설정 (비트 코드 활성화 또는 비활성화)을 원할 때마다 스크립트의 코드를 변경하거나 다른 설정에 다른 스키마를 추가하고 각 스크립트에 대해 적절한 스크립트를 사용하여 전체 단계를 수행 할 수 있습니다.





ios-universal-framework