标签: bitcode

iOS胖二进制文件:每个arch都应该包含bitcode吗?

在构建要在启用bitcode的应用程序中使用的库时,fat二进制文件中的每个arch都需要使用-fembed-bitcode或仅使用其中一个构建吗?

其中之一是因为bitcode是独立于架构的,只会被复制?

所有这些因为预处理器命令可能会根据架构改变代码(例如NSInteger宽度)?

否则duplicate symbol _llvm.cmdline会排除x86切片?- rdar:// 21884601

app-store ios lipo ios9 bitcode

6
推荐指数
1
解决办法
783
查看次数

ld:-bundle和-bitcode_bundle不能一起使用

我正在建设llvm/clang 3.7bitcode支持(-fembed-bitcode).由于错误,某些模块无法链接:

ld:-bundle和-bitcode_bundle(Xcode设置ENABLE_BITCODE = YES)不能一起使用clang:error:链接器命令失败,退出代码为1(使用-v查看调用)

完整错误输出:

链接CXX共享模块../../lib/BugpointPasses.dylib cd/Volumes/Transcend/dev/src/llvm_37_ios_any_build/tools/bugpoint-passes && /usr/local/Cellar/cmake/2.8.12.2/bin/cmake - E cmake_link_script CMakeFiles/BugpointPasses.dir/link.txt --verbose = 1/usr/bin/c ++ -fembed-bitcode -Os -std = c ++ 11 -stdlib = libc ++ -arch arm64 -mios-version-min = 8.0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk -Wall -W -Wno-unused-parameter -Wwrite-strings -Wcast-qual -pedantic -Wno-long -long -Wnon-virtual-dtor -O3 -DNDEBUG -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk -bundle -Wl,-headerpad_max_install_names -Wl,-dead_strip -Wl,-exported_symbols_list,/ Volumes/Transcend/dev/src/llvm_37_ios_any_build/tools/bugpoint-passes/BugpointPasses.exports -Wl,-flat_namespace -Wl,-undefined -Wl,suppress -o ../../lib/ BugpointPasses.dylib CMakeFiles/BugpointPasses.dir/TestPasses.cpp.o -Wl,-rpath,@ execu table_path /../ lib ld:-bundle和-bitcode_bundle(Xcode设置ENABLE_BITCODE = YES)不能一起使用clang:error:链接器命令失败,退出代码为1(使用-v查看调用)make [2]:*[ lib/BugpointPasses.dylib]错误1 make [1]:* [tools/bugpoint-passes/CMakeFiles/BugpointPasses.dir/all]错误2 make:***[all]错误2 …

xcode clang ios xcode7 bitcode

6
推荐指数
1
解决办法
1208
查看次数

如何告诉Xcode为Swift发出IR(LLVM Bitcode)?

我希望Xcode将我的Swift源文件编译为bitcode(IR)而不是Mach-O对象.我知道你可以使用emit-ir标志调用swift编译器,但是将其添加到"Other Swift Flags"对我来说不起作用.该标志设置为初始调用,swiftc但它不会在后续调用中显示为参数swift.结果我得到了Mach-O 64-bit object文件.

对于Objective-C,我可以通过向LTO 添加emit-llvm标志clang或启用LTO 来实现此目的.我应该怎么做Swift?

我正在使用Swift 2.2运行最新的Xcode(7.3).

编辑:我想出了一个解决方法,我用一个附加-emit-bc到参数列表并转发它的脚本替换swift编译器swiftc.但是,将它添加到Xcode中的Swift编译器标志也不起作用.

macos xcode llvm swift bitcode

6
推荐指数
1
解决办法
1420
查看次数

BITCODE_ENABLE和dylib框架之间的确切联系是什么?

我已经看到很多参考链接用于找出BITCODE_ENABLE.dylib框架之间的连接,但我无法得到积极的结果.请任何人帮助我两者之间的确切联系,并提及BITCODE_ENABLEClearly的使用.

iphone dylib ios bitcode

6
推荐指数
1
解决办法
526
查看次数

无法生成位码束,因为在没有完整位码的情况下构建了“ PermissionScope.framework”

PermissionScope.framework在项目中添加了此文件,并尝试将其归档,但显示以下错误。

无法生成位码捆绑包,因为构建的“ AppPath /PermissionScope.framework/PermissionScope”没有完整的位码。必须从Xcode Archive生成所有用于位代码的框架和dylib或为体系结构arm64 clang安装生成:错误:链接器命令失败,退出代码为1(使用-v查看调用)

请帮助我解决此问题。

iphone linker-errors ios bitcode swift3.0.2

6
推荐指数
0
解决办法
973
查看次数

适用于iOS的Kotlin Multiplatform库,带有bitcode

我们使用Kotlin在Android和iOS之间共享库.

我们设置了一切,但在iOS上我需要启用Bitcode.经过研究,我找到了解决方案:

kotlin {
targets {
    fromPreset(presets.jvm, 'jvm') {
        mavenPublication {
            artifactId = 'my-lib-name'
        }
    }
    // Switch here to presets.iosArm64 to build library for iPhone device || iosX64 for emulator
    fromPreset(presets.iosArm64, 'iOS') {
        compilations.main.outputKinds('FRAMEWORK')
        compilations.main.extraOpts '-Xembed-bitcode' // for release binaries
        compilations.main.extraOpts '-Xembed-bitcode-marker'//  for debug binaries
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

但问题是现在,我有,如果是,我如何在发布和调试二进制文件和特定标志之间分开?我可以简单地添加两个标志没有任何缺点吗?

也许有人可以启发我谢谢

ios ios-frameworks kotlin bitcode kotlin-multiplatform

6
推荐指数
2
解决办法
362
查看次数

无法重新解析 bitcode 包中的目标文件:'无效的 bitcode 版本

ld:无法重新解析 bitcode 包中的目标文件:'无效的 bitcode 版本(生产者:'902.0.39.2_0' Reader:'900.0.39.2_0')',使用 libLTO 版本 'LLVM 版本 9.0.0,(clang-900.0.0. 39.2)' 架构 arm64 clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

注意: - 在构建设置中将 Bitcode 启用No。Apple 拒绝将构建版本上传到 iTunes。

ios bitcode

6
推荐指数
1
解决办法
6279
查看次数

App Store Connect拒绝带有ITMS-90562的无效二进制文件-无法编译位码

在使用Xcode 11b2提交的构建中,成功上传构建后,几分钟后我收到一封电子邮件,其中包含以下消息:

ITMS-90562: Invalid Bundle - The app submission can not be successfully recompiled from bitcode due to missing symbols during linking. You can try to reproduce and diagnose such issues locally by following the instructions from: https://developer.apple.com/library/archive/technotes/tn2432/_index.html
Run Code Online (Sandbox Code Playgroud)

通过该链接,我可以导出具有位码的临时构建,而在本地没有任何错误,因此似乎并没有太大帮助。

我也尝试过提交带有启用和禁用位代码复选框的构建,尽管有问题的应用程序包括Apple Watch应用程序,并且该平台始终需要位代码,因此可能没有任何实际区别。

有人以前看到过这个,知道如何解决吗?

xcode itunesconnect app-store bitcode

6
推荐指数
1
解决办法
763
查看次数

“ipatool 因异常而失败:#<CmdSpec::NonZeroExitException:”在使用 XCFramwork 存档时,启用位码

选择“从位码重建”导出选项时,我无法存档 ipa,出现以下错误

ipatool failed with an exception: #<CmdSpec::NonZeroExitException: $ /Applications/Xcode.app/Contents/Developer/usr/bin/bitcode-build-tool
-v -t /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
-
Run Code Online (Sandbox Code Playgroud)

注意:- 我检查了我所有的依赖框架都是 .xcframework,支持 Bitcode。

有人可以在这里帮助我吗?提前致谢。

xcode ios bitcode xcode11 xcframework

6
推荐指数
1
解决办法
1661
查看次数

升级 Xcode12 和 macOS BigSur 后使用框架时 iOS/macOS 应用程序分发失败

我们无法分发使用我们框架的示例应用程序,而我们的用户也不能。在归档并分发到 AppStore 时,应用程序被拒绝并显示以下消息:

Invalid Bundle - One or more dynamic libraries that are referenced by your app are not present in the dylib search path. If your app contains bitcode, bitcode processing may have failed. Because of these errors, this build of your app will not be able to be submitted for review or placed on the App Store.

该框架包含位代码,或者至少BITCODE_GENERATION_MODE = bitcode在我们的 中有一个构建设置.xcconfig,这基本上意味着 Xcode 将向-fembed-bitcode任何 clang 调用添加构建标志。

从这里开始,我们开始使用Ad-Hoc构建进行测试,以加快我们的试错尝试,这在Rebuild from bitcode选择选项时也会失败。管理器显示包含以下内容的弹出窗口: …

xcode ios bitcode ipatool xcframework

6
推荐指数
1
解决办法
559
查看次数