-2

如何在Xcode 11.3iOS 13中创建自定义 通用框架,任何运行脚本?

4

1 回答 1

0

第 1 步:从跨平台添加新目标 -> 聚合

第 2 步:从构建短语中添加以下内容作为运行脚本:

键入脚本或从工作区拖动脚本文件以插入其路径。

FRAMEWORK_NAME=${PROJECT_NAME}

SIMULATOR_LIBRARY_PATH="${BUILD_DIR}/${CONFIGURATION}-iphonesimulator/${FRAMEWORK_NAME}.framework"

DEVICE_LIBRARY_PATH="${BUILD_DIR}/${CONFIGURATION}-iphoneos/${FRAMEWORK_NAME}.framework"

DEVICE_BCSYMBOLMAP_PATH="${BUILD_DIR}/${CONFIGURATION}-iphoneos"

DEVICE_DSYM_PATH="${BUILD_DIR}/${CONFIGURATION}-iphoneos/${FRAMEWORK_NAME}.framework.dSYM"

SIMULATOR_DSYM_PATH="${BUILD_DIR}/${CONFIGURATION}-iphonesimulator/${FRAMEWORK_NAME}.framework.dSYM"

UNIVERSAL_LIBRARY_DIR="${BUILD_DIR}/${CONFIGURATION}-iphoneuniversal"

FRAMEWORK="${UNIVERSAL_LIBRARY_DIR}/${FRAMEWORK_NAME}.framework"

OUTPUT_DIR="./Build-Framework"

DRPBOX_DIR="/Users/$USER/Dropbox/Frameworks/iTelMessagingKit"

这将为目标模拟器构建您的框架。

Xcodebuild -project ${PROJECT_NAME}.Xcodeproj -UseModernBuildSystem=NO -scheme ${FRAMEWORK_NAME} -sdk iphonesimulator -configuration ${CONFIGURATION} 全新安装 CONFIGURATION_BUILD_DIR=${BUILD_DIR}/${CONFIGURATION}-iphonesimulator

这将为您的设备构建框架。

Xcodebuild -project ${PROJECT_NAME}.Xcodeproj -UseModernBuildSystem=NO -scheme ${FRAMEWORK_NAME} -sdk iphoneos -configuration ${CONFIGURATION} 全新安装 CONFIGURATION_BUILD_DIR=${BUILD_DIR}/${CONFIGURATION}-iphoneos

让我们清理最终目录:

rm -rf "${UNIVERSAL_LIBRARY_DIR}"

mkdir "${UNIVERSAL_LIBRARY_DIR}"

mkdir "${FRAMEWORK}"

rm -rf "$OUTPUT_DIR" mkdir -p "$OUTPUT_DIR"

现在,我们将其中一个框架文件放到我们的通用文件夹中:

cp -r "${DEVICE_LIBRARY_PATH}/." “${框架}”

现在对于真正的魔法,lipo,添加这个片段:

lipo "${SIMULATOR_LIBRARY_PATH}/${FRAMEWORK_NAME}" "${DEVICE_LIBRARY_PATH}/${FRAMEWORK_NAME}" -create -output "${FRAMEWORK}/${FRAMEWORK_NAME}" | echo cp -r "${FRAMEWORK}" "$OUTPUT_DIR"

cp -r "${FRAMEWORK}" "$DRPBOX_DIR"

于 2019-12-26T09:31:29.317 回答