gpt4 book ai didi

ios - 创建通用 Objective-C 框架,LIPO 无法映射输入文件

转载 作者:可可西里 更新时间:2023-11-01 05:59:48 24 4
gpt4 key购买 nike

过去一天一直在研究这个问题,但没有成功,希望有人能就此提供一些建议。

我继承了一个旧的 objC 静态库项目,我正试图将其转换为一个动态的通用框架。

为框架创建了一个新的目标,编译没有问题(在一些build设置调整之后)创建了一个新聚合,添加了一个运行脚本阶段:

    ######################
# Options
######################

REVEAL_ARCHIVE_IN_FINDER=true

FRAMEWORK_NAME="MyUniversalFramework"

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

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

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

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


######################
# Build Frameworks
######################

xcodebuild -project ${FRAMEWORK_NAME}.xcodeproj -target "${PROJECT_NAME}" ONLY_ACTIVE_ARCH=NO -configuration ${CONFIGURATION} -sdk iphoneos BUILD_DIR="${BUILD_DIR}" BUILD_ROOT="${BUILD_ROOT}" clean build

xcodebuild -project ${FRAMEWORK_NAME}.xcodeproj -target "${PROJECT_NAME}" -configuration ${CONFIGURATION} -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO BUILD_DIR="${BUILD_DIR}" BUILD_ROOT="${BUILD_ROOT}" clean build

######################
# Create directory for universal
######################

rm -rf "${UNIVERSAL_LIBRARY_DIR}"

mkdir "${UNIVERSAL_LIBRARY_DIR}"

mkdir "${FRAMEWORK}"


######################
# Copy files Framework
######################
cp -R "${SIMULATOR_LIBRARY_PATH}" "${FRAMEWORK}"

cp -R "${DEVICE_LIBRARY_PATH}" "${FRAMEWORK}"


######################
# Make an universal binary
######################

lipo -create "${SIMULATOR_LIBRARY_PATH}" "${DEVICE_LIBRARY_PATH}" -output "${FRAMEWORK}" | echo

######################
# On Release, copy the result to release directory
######################
OUTPUT_DIR="${PROJECT_DIR}/Output/${FRAMEWORK_NAME}-${CONFIGURATION}-iphoneuniversal/"

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

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

if [ ${REVEAL_ARCHIVE_IN_FINDER} = true ]; then
open "${OUTPUT_DIR}/"
fi

当我尝试生成框架时出现错误:

    Showing Recent Messages
fatal error: lipo: can't map input file: /Users/dhomes/Library/Developer/Xcode/DerivedData/MyUniversalFramework-dzrstgkuullfwqdlupoeqbqzapxz/Build/Products/Debug-iphonesimulator/MyUniversalFramework.framework (Invalid argument)

.framework 已创建,将其导入客户端项目允许为设备编译,但模拟器抛出“找不到框架错误”

我过去做过这些框架,但只有 w/swift 代码,任何帮助/指针将不胜感激

最佳答案

框架不能lipo,需要在里面lipo,应该是"MyUniversalFramework.framework/MyUniversalFramework"

关于ios - 创建通用 Objective-C 框架,LIPO 无法映射输入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51599984/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com