由于LLVM仪器符号或代码覆盖率而导致Apple拒绝构建,但无法找到

问题描述 投票:0回答:1

我最近向TestFlight提交了一个构建版本,它被拒绝,并出现以下错误:

无效的捆绑包 - 不允许的LLVM工具。不要提交启用了LLVM配置文件检测或coverage集合的应用程序。关闭LLVM配置文件或代码覆盖率,重建您的应用程序并重新提交应用程序。

Apple的Technical Q&A建议运行以下命令来查找构建是否启用了LLMV Instrumentation符号或代码覆盖,但结果是否定的。

$ nm -m -arch all <PathToArchive>/Products/Applications/<AppName>.app/<AppBinary> | grep gcov

$ otool -l -arch all <PathToArchive>/Products/Applications/<AppName>.app/<AppBinary> | grep __llvm_prf

gist有用的carlossless也没有显示任何LLMV仪器符号。任何想法如何解决这一问题?

ios xcode code-coverage testflight instrumentation
1个回答
0
投票

问题是应用程序中使用的内部SDK pod是在没有的情况下构建的

GCC_INSTRUMENT_PROGRAM_FLOW_ARCS = NO

CLANG_ENABLE_CODE_COVERAGE = NO

xcodebuild中的标志。当我们使用以下命令构建SDK时,Apple接受了构建:

xcodebuild -workspace "${FRAMEWORK_NAME}.xcworkspace" -scheme "${FRAMEWORK_NAME}" -configuration "${CONFIGURATION}" -arch arm64 -arch armv7 -arch armv7s only_active_arch=no CLANG_ENABLE_CODE_COVERAGE=NO GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=NO BITCODE_GENERATION_MODE=bitcode defines_module=yes -sdk "iphoneos" -derivedDataPath "${OUTPUT_DIR}"

这在articleCarlossless中得到了很好的解释。

© www.soinside.com 2019 - 2024. All rights reserved.