我收到了这个令人讨厌的BCSymbolMap错误here。 验证存档时,我无法同时包含应用符号和bitcode。
为了尝试解决这个问题,我删除了所有框架并将其添加回来。当我删除Realm并将其拖回我的嵌入式二进制文件时,应用程序开始验证正常。
然后我继续编写代码,更改了一些不相关的内容,当我尝试归档并验证它再次失败时。
所以我再次删除了Realm并再次将它拖到我的嵌入式二进制文件中......再次存档并验证...它可以工作。
又过了一段时间又停止了工作,我又重新做了一遍,然后就行了......就这样了。
看起来每次我想验证存档以提交到iTunes连接时,我都必须删除Realm并重新添加它。这很烦人。
这里发生了什么?
编辑:
似乎Xcode一直在删除符号文件,我不知道为什么。
我将领域框架添加到源代码控制中,用刚刚下载的新代码替换它们并将它们提交给git,然后我得到了这个:
符号文件显示带有问号,因为当我第一次提交时它们不存在...所以我使用Xcode一段时间没做什么,并尝试了另一个提交:
现在文件显示为D,因为它们已被删除!但我没有删除它们!
我还有其他框架安装了自己的符号文件,那些不会被删除。非常奇怪......
编辑2:
当我注意到Xcode正在删除符号文件时,我将域框架的权限更改为只读。然后我建立了我的项目,唉:
strip-frameworks.sh
脚本正在尝试rm
符号文件,但现在我不会让它。
所以我看了一下脚本......
if [ "$ACTION" = "install" ]; then
echo "Copy .bcsymbolmap files to .xcarchive"
find . -name '*.bcsymbolmap' -type f -exec mv {} "${CONFIGURATION_BUILD_DIR}" \;
else
# Delete *.bcsymbolmap files from framework bundle unless archiving
find . -name '*.bcsymbolmap' -type f -exec rm -rf "{}" +\;
fi
除非存档,否则为什么需要删除符号文件? 不管是什么原因,这都不是应该的。我刚刚从脚本中删除了这部分,现在一切正常。
答案 0 :(得分:0)
这是由于在Realm的strip-frameworks.sh
脚本中处理BCSymbolMap文件的问题引起的,该脚本最近已在#3032中修复,但尚未包含在正式发布。 Realm的下一个版本将包括修复。