问题标签 [bitcode]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2212 浏览

ios - XCode 7 dyld:设置 ENABLE_BITCODE=NO 后找不到符号

我已经安装了 Xcode 7 beta 3,我可以在模拟器上运行我的代码,但不能在我的设备上运行。我无法构建并且也收到了警告:

所以我设置了 ENABLE_BITCODE=NO ,现在设备构建了,但它因错误而崩溃:

我的 Podfile 是:

有谁知道可能导致此错误的原因?自从我安装了 Xcode 7 后才出现这种情况。Xcode 6 运行良好。

0 投票
5 回答
14377 浏览

google-analytics - Google Analytics libAdIdAccess.a 不包含位码

Xcode 7 beta 3 刚刚安装了一些“附加组件”(现在是版本 7.0 beta 3 (7A152u)),现在我遇到了编译器错误:

这篇 Google Code帖子是我发现的关于 GA 和 bitcode 的唯一提及。

如果我可以只为这个库禁用它而不是完全禁用位码,那就太好了。那可能吗?

这个答案为默认启用的位码提供了一种解决方法,这最终可能是对那个更通用的问题的欺骗。

0 投票
3 回答
6786 浏览

objective-c - Xcode 7 beta 3 中的 Apple Watch 扩展必须使用 bitcode 吗?

我有一个可可豆荚作为我的应用程序中使用的库的依赖项管理器。而且我有 Apple Watch 支持 - 所以在安装 Xcode 7 beta 3 后,我在编译过程中收到了一个错误:

在我的扩展目标中,我没有找到设置选项ENABLE_BITCODE = NO

据我了解,对于 Apple Watch,我必须提供所有使用位码选项构建的库。

我尝试仅为主要的主应用程序目标添加 pod,以防止库与应用程序扩展的链接,但无论如何我仍然收到此链接错误。

如何在最新的 Xcode 测试版中构建我的应用程序?

0 投票
4 回答
50872 浏览

ios - 如何 xcodebuild 启用 Bitcode 的静态库?

Xcode 7 引入了Bitcode,它是某种 LLVM 中间二进制文件,这意味着 Apple 的服务器可以为不同的架构重新编译我的应用程序,而无需我的参与。

在 Lookback,我在我们的库中分发了一个静态归档框架。似乎当您使用“构建和存档”以外的任何东西进行构建时,比特码实际上并没有发送到我的库中,并且任何在他们的应用程序中与我的库链接并尝试在启用比特码的情况下进行构建和存档的人都会得到其中一个两个警告:

  • ld: 'Lookback(Lookback.o)' does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.(如果 lib 是用 Xcode 6 构建的)
  • ld: warning: full bitcode bundle could not be generated because 'Lookback(Lookback.o)' was built only with bitcode marker. The library must be generated from Xcode archive build with bitcode enabled (Xcode setting ENABLE_BITCODE)(如果 lib 是使用 Xcode 7 和普通的 xcodebuild 构建的)

我有一个构建设备+模拟器通用二进制文件的构建脚本,所以我不能使用构建和存档,而是xcodebuild从我的脚本的命令行运行。如何xcodebuild生成正确的启用位码的库?

0 投票
0 回答
495 浏览

ios - 我可以模拟 ENABLE_BITCODE 对 iOS 构建过程的影响吗?

我了解 ENABLE_BITCODE 将使用 LLVM 位码构建可执行文件,以便 App Store 可以在交付给设备之前将其编译为 arm64 或 armv7。xcodebuild自然,许多开发人员将依赖不直接使用但可能希望利用此功能的开放和第三方许可源代码。

像 libjpeg-turbo 这样的库是使用标准的 configure + make 构建的,它直接使用 clang。我假设 xcodebuild ENABLE_BITCODE 选项最终必须指示 clang 仅在 App Store 归档过程中构建 LLVM。

所以简而言之,在底层构建上使用这个标志有什么影响,我可以模仿它吗?我的假设是发送给苹果的应用程序包只能由 LLVM 位码组成(例如,没有目标架构二进制文件随包一起提供)。

我看过 WWDC 关于应用瘦身的视频。我不敢相信这样的信息不会被包括在内。

编辑:另一个问题是许多第三方依赖项都有很多硬编码的程序集。ENABLE_BITCODE 标志对将特定于平台的程序集转换为 LLVM 位码有任何影响吗?

0 投票
3 回答
2961 浏览

ios - 提交应用程序后,App Store Team 错误提示“您的应用程序包含位码”

我以前从未听说过这个术语bitcode,我什至不知道从哪里开始寻找如何解决这个问题。

我正在使用Xcode 7 beta 3并且我已经成功上传了我的应用程序 3 次,但是每次我上传它时,它都会将状态更改为 invalid binary

我收到了 App Store 团队发来的一封电子邮件,里面说

“无效的可执行文件 - 可执行文件 'ESUHSD.app/ESUHSD' 包含位码。”

我不知道您需要了解有关该应用程序的哪些信息,所以我希望任何帮助将不胜感激!

0 投票
10 回答
83651 浏览

xcode7 - Xcode 7 和 ENABLE_BITCODE=YES 设置不起作用

我已经围绕 Xcode 中的新 ENABLE_BITCODE 设置跟踪了几个线程,也尽可能多地尝试(承认我不是 xcode 专业人士)但仍然无法编译项目以在我的测试手机上使用?

我的应用程序在模拟器上运行良好,但我无法将其部署到我的 iPhone 上进行测试。在后一个上,我刚刚安装了 iOS 9 beta。

现在,这是我收到的错误消息。看来该设置不会影响 PARSE.com 库,这是我项目的一部分?如何让我的项目部署到我的手机上?感谢您的任何建议。

0 投票
1 回答
898 浏览

ios - iOS 胖二进制文件:每个拱门都应该包含位码吗?

在构建要在支持位码的应用程序中使用的库时,胖二进制文件中的每个拱门都需要构建-fembed-bitcode还是只需要构建其中一个?

其中之一是因为位码是独立于架构的并且只会被复制?

所有这些都是因为预处理器命令可能会根据体系结构(例如 NSInteger 宽度)更改代码?

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

0 投票
3 回答
3267 浏览

xcode7 - 我想知道如何在 XCODE 7 beta 4 中获得选项 ENABLE Bitcode?

我想使用 xcode 7 为 iOS 5.1.1 及更高版本部署 iOS 应用程序。

但是当我尝试在 Xcode 7 beta 4 中运行我的 iOS 应用程序项目时,它会显示错误消息“6.0 之前的 iOS 版本不支持-fembed-bitcode”</p>

对于这个错误,我发现以下关于谷歌搜索的预测,“Xcode 7 有一个 ENABLE_BITCODE 选项,用于在应用程序、应用程序扩展和框架中嵌入位码。该选项默认情况下对 iOS 是打开的,并且对于提交到商店的 watchOS 项目是强制性的。当一个target启用bitcode时,链接该target时使用的所有对象、静态库和用户框架都必须包含bitcode。否则,链接器将发出错误或警告。(注意:缺少bitcode目前是一个警告iOS,但在即将发布的 Xcode 7 Beta 版本中会出现错误。) ENABLE_BITCODE 应始终为所有目标打开。如果您使用第三方提供的库或框架,请联系供应商以获取更新版本其中包含位码。”

然后尝试在 Xcode 7 beta 4 中设置 ENABLE_BITCODE = NO 但我在我的 iOS 应用程序项目的项目和目标的构建设置下的 Xcode 7 beta 4 中找不到此选项。

请帮助我我想知道如何在 XCODE 7 beta 4 中获得选项 ENABLE Bitcode?

提前致谢。

0 投票
3 回答
8115 浏览

xcode - Xcode 7 bitcode_strip 错误

我的 Xcode 7 beta3 项目包括一些由 Xcode 6 编译的框架,这些框架通过“构建阶段”选项卡中的嵌入框架选项导入到我的项目中。因为这些框架不支持bitcode,所以“Enable Bitcode”选项变成NO,编译项目时,出现Bitcode_strip错误:

/Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/bitcode_strip /Users/panzhansheng/Desktop/MusicFans_2.0.4_xcode7_autoplay/MusicFans/Frameworks/FLAC.framework/FLAC -r -o /用户/panzhansheng/Library/Developer/Xcode/DerivedData/MusicFans-bxutvotiungdbwfsxloykffnqoqs/Build/Products/Debug-iphoneos/MusicFans.app/FLAC.framework/FLAC/Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault。 xctoolchain/usr/bin/bitcode_strip:输入文件必须是链接的 Mach-O 文件而不是存档:/Users/panzhansheng/Desktop/MusicFans_2.0.4_xcode7_autoplay/MusicFans/Frameworks/FLAC.framework/FLAC(对于架构 i386)错误: bitcode_strip /Users/panzhansheng/Desktop/MusicFans_2.0.4_xcode7_autoplay/MusicFans/Frameworks/FLAC.framework/FLAC: /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/bitcode_strip 以 1 退出

我发现Xcode将我的框架复制到我的App包并尝试从框架中剥离bitcode时发生错误,但是这些框架是由Xcode早期版本编译的,根本不包含bitcode。如何解决这个问题?谢谢!