我的tvOS
应用程序在 Apple 的服务器端验证中反复失败,并通过电子邮件通知说:
无效的可执行文件 - 可执行文件“VPK_FULL_TV.app/VPK_FULL_TV”不包含位码
我使用了这里描述的方法:How to check if a framework is BITCODE support for Xcode7
and my all libs/frameworks print out at least one line with segname __LLVM
.
我想知道,这个测试有多足够
otool
?是否会发生测试打印出该行segname __LLVM
但某些功能在没有位码的情况下仍被遗漏的情况?还有另一种测试位码完整性的方法吗?
我还在标准库上尝试了这个测试,例如
/Applications/Xcode-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/usr/lib/libresolv.9.tbd
,但打印 NOsegname __LLVM
行,因此表明没有包含位码。我应该是吧?这个 .tbd 库到底是什么?
otool
顺便说一句,如果您发现它有用,这里有一些运行的快捷方式:
find . -name '*a' -type f -exec ./test_bitcode.sh {} \;
test_bitcode.sh
echo ""
echo "***** TESTING $1"
otool -l $1 | grep __LLVM | head -n1