【发布时间】:2015-10-20 09:19:23
【问题描述】:
我的tvOS 应用程序在 Apple 的服务器端验证中屡次失败,电子邮件通知说:
无效的可执行文件 - 可执行文件 'VPK_FULL_TV.app/VPK_FULL_TV' 确实 不包含位码
我使用了这里描述的方法:How to check if a framework is BITCODE supported for Xcode7
我所有的库/框架都至少打印出一行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
【问题讨论】: