Cocoa Touch Frameworks - Bitcode支持

时间:2018-04-07 16:04:28

标签: ios swift xcode frameworks bitcode

我正在为我的公司建立一个框架。我有一个包含两个项目的工作区,Cocoa Touch Framework和Example应用程序。我有一个运行脚本,每次我构建我的框架时运行,构建模拟器和设备版本,然后脂肪他们创建胖框架。所有这些都是通过Cocoapods分发的,所以我在podspec上设置了vendored_frameworks属性,依此类推。一切都安装在其他项目中,除了一件事:由于框架不包含bitcode,因此无法归档项目。这些是我的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。但是,始终存在同样的问题:无法使用此框架存档应用程序。 你有什么建议吗?

1 个答案:

答案 0 :(得分:0)

2个选项:

1.尝试使用bitcode构建您的框架:

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.或者您选择在应用程序中禁用bitcode