gpt4 book ai didi

ios - 使用xcodebuild打包ipa时出现位码错误

转载 作者:行者123 更新时间:2023-12-02 02:52:07 25 4
gpt4 key购买 nike

首先,我想说的是,如果没有位码,一切都会完美运行。当我在应用程序中打开“位码”标志时,问题就开始了。

此外,所有构建都是通过 CI 流程进行的(不是在 xcode->archive 等内部手动进行)。

该框架是在与应用程序本身分开的流程中构建的(应用程序嵌入了已编译的框架)

当我尝试打包 ipa 时收到此错误:

❌ ld: bitcode bundle could not be generated because '..../Framework.framework/Framework' was built without full bitcode. All frameworks and dylibs for bitcode must be generated from Xcode Archive or Install build for architecture armv7

❌ clang: error: linker command failed with exit code 1 (use -v to see invocation)

关于框架:

我正在使用以下命令构建框架:(省略技术细节)

# iphone (arm)
xcodebuild -configuration Release -sdk iphoneos CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO

# iphone (simulator)
xcodebuild -configuration Release -sdk iphonesimulator CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO

然后是 lipo(FAT 二进制)

lipo -create /Release-iphonesimulator/Framework.framework/Framework -output /Universal/Framework.framework/Framework

我已将编译器标志添加到框架中以“嵌入位码”

enter image description here

我什至“验证”它具有其他 S.O. 的位码。问题:(Compiling iOS library with bitcode enabled)

Also, the easiest way to check if the binary contains bitcode is to use otool and grep:

otool -l binary_name | grep __LLVM

you will see one or more segname __LLVM entries if it does have bitcode or empty output if does not.

otool -arch arm64 -l Frameworks/Framework.framework/Framework  | grep __LL
segname __LLVM
segname __LLVM

我还尝试了添加编译标志的其他变体

xcodebuild OTHER_CFLAGS="-fembed-bitcode"

并向我报告了相同的错误

最佳答案

在目标的build设置中添加 BITCODE_GENERATION_MODE=bitcode 作为用户定义的设置。

关于ios - 使用xcodebuild打包ipa时出现位码错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43388662/

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