启用位码 vs 在提交应用前包含位码

15
"Enable Bitcode" 是应用程序目标和项目中的设置,而在提交到 App Store 之前存在 "Include Bitcode" 复选框。二者的区别是什么?
如果我将 "Enable Bitcode" 设置为 FALSE 并勾选了 "Include Bitcode",会发生什么? 如果我将 "Enable Bitcode" 设置为 TRUE 并取消勾选 "Include Bitcode",会发生什么?
我看到其他问题只问 "Enable Bitcode" 的作用,但我的问题是关于此设置和在提交应用程序到 App Store 之前的 "Include Bitcode" 设置之间的差异。
谢谢

1
https://dev59.com/Gl0a5IYBdhLWcg3wFlVH - Code Different
1
@JustAnotherCoder,看一下我的编辑,了解为什么这并没有解决我的问题。 - allaire
@allaire 值得注意的是,我们现在对于Bitcode所知甚少。苹果公司已经给出了一些细节,但在我们看到新的架构(或现有架构的优化)实际发布之前,很难确切地知道它的工作原理。 - TwoStraws
那么在iTunes Connect > 我的应用程序 > (某个应用程序)> 应用商店 > 定价和可用性下的“位码自动重新编译”设置呢? - Lane Rettig
2个回答

12

如您所知,为了使您的应用程序在iTunes Connect支持Bitcode重新编译,您需要同时启用两者。只是在Xcode中启用它仅意味着编译了Bitcode“架构”,但并不一定意味着发送到Apple。

提前警告:我对带有和不带有Bitcode的应用程序提交进行了一些测试,由于某种原因,使用Bitcode提交会显著减慢二进制文件处理时间,以便准备提交。没有Bitcode可能需要几分钟或最多三个小时即可出现;而有Bitcode时,我经常遇到超过24小时的延迟。


太好了,如果我在目标设备上禁用了它,并且仍然勾选了“包括位码”,那么什么也不会被发送,因为我的应用程序没有启用位码进行存档,这个假设是正确的吗? - allaire
3
据我所知,那是正确的。应用程序提交不会创建存档文件,它只是将其发送到苹果 - 编译和(初步)优化已在此时发生。话虽如此,如果你特别不想要位码(出于各种好的原因),我会取消选中您看到的每个框 :) - TwoStraws
具有讽刺意味的是,今天我遇到了完全相反的情况。启用位码的构建通常需要大约十分钟的处理时间;而我今天提交了一个禁用位码的构建:它花费了六个小时的处理时间,然后报告了一个错误。 - Lane Rettig

0
如果您的目标和所有的Pod都禁用了位码,则上传到应用商店的对话框中的包括位码复选框将消失。

1
这一定是新的,你看到这种行为是哪个Xcode版本? - allaire

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接