我正在为我的公司构建一个框架。我有一个工作区,里面有两个项目,Cocoa Touch Framework 和示例应用程序。我有一个运行脚本,它会在我每次构建我的框架时运行,构建模拟器和设备版本,然后对它们进行 lipo 以创建胖框架。所有这些都是通过 Cocoapods 分发的,所以我在 podspec 上设置了 vendored_frameworks
属性等等。一切都在其他项目中正确安装,除了一件事:不可能存档项目,因为框架不包含位码。这些是我的 xcodebuild 命令(在运行脚本中):
# Build both device and simulator versions for iOS
xcodebuild BITCODE_GENERATION_MODE=bitcode -project "${PROJECT_DIR}/${PROJECT_NAME}.xcodeproj" -derivedDataPath "${BUILD_DIR}" -scheme "${PROJECT_NAME}" -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone X' clean build
xcodebuild BITCODE_GENERATION_MODE=bitcode -project "${PROJECT_DIR}/${PROJECT_NAME}.xcodeproj" -derivedDataPath "${BUILD_DIR}" -scheme "${PROJECT_NAME}" -sdk iphoneos clean build
我将构建配置设置为Release,所以它不使用Debug。但是,始终存在相同的问题:无法将内部包含此框架的应用程序存档。 你有什么建议吗?
最佳答案
有2个选项:
1.尝试使用位码构建您的框架:
xcodebuild BITCODE_GENERATION_MODE=bitcode OTHER_CFLAGS="-fembed-bitcode" -target "${PROJECT_NAME}" ONLY_ACTIVE_ARCH=NO -configuration ${CONFIGURATION} -sdk iphoneos BUILD_DIR="${BUILD_DIR}" BUILD_ROOT="${BUILD_ROOT}" clean build
xcodebuild BITCODE_GENERATION_MODE=bitcode OTHER_CFLAGS="-fembed-bitcode" -target "${PROJECT_NAME}" -configuration ${CONFIGURATION} -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO BUILD_DIR="${BUILD_DIR}" BUILD_ROOT="${BUILD_ROOT}" clean build
2.或者您选择在您的应用程序中禁用位码
关于ios - Cocoa Touch Frameworks - 位码支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49709262/