我的tvOS
应用在Apple的服务器端验证中反复失败,并通过电子邮件通知说:
无效的可执行文件 - 可执行文件'VPK_FULL_TV.app/VPK_FULL_TV' 不包含bitcode
我使用了此处描述的方法:How to check if a framework is BITCODE supported for Xcode7
并且我的所有lib /框架都打印出至少一行segname __LLVM
。
我想知道,otool
这个测试有多充足?是否会发生测试打印出行segname __LLVM
,但是在没有bitcode的情况下仍然会遗漏某些功能?
还有另一种测试bitcode完整性的方法吗?
我也在std libs上尝试过这个测试,例如/Applications/Xcode-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/usr/lib/libresolv.9.tbd
但是会打印NO segname __LLVM
行,从而显示没有包含bitcode。我应该,对吧?这是什么.tbd lib无论如何?
顺便说一下,如果您发现otool
有用,可以使用以下快捷方式运行find . -name '*a' -type f -exec ./test_bitcode.sh {} \;
:
echo ""
echo "***** TESTING $1"
otool -l $1 | grep __LLVM | head -n1
test_bitcode.sh
QListWidget::item:disabled
{
background: transparent;
}
答案 0 :(得分:0)
检查您的库是否正在使用bitcode构建strip -x
。
我发现strip从库中删除了bitcode
还有点像你的剧本: Bitcode Check Script:
https://github.com/danoli3/Bitcode-Check-Script
用法: bitcodeCheck "boost_system.a"
<强>结果:强>
------------------
BITCODE=YES for: boost_system.a
------------------
它使用 Apple
指定的otool
和__LLVM
的基础