1

私のtvOSアプリは、Apple によるサーバー側の検証で繰り返し失敗し、次のような電子メール通知が表示されました。

無効な実行可能ファイル - 実行可能ファイル「VPK_FULL_TV.app/VPK_FULL_TV」にビットコードが含まれていません

ここで説明されている方法を使用しました:フレームワークがXcode7でサポートされているビットコードであるかどうかを確認する方法 と、すべてのライブラリ/フレームワークが少なくとも1行をsegname __LLVM.

  1. このテストは でどのくらい十分なのだろうotoolか? テストで行segname __LLVMが出力されても、一部の機能がまだビットコードなしで除外されている可能性はありますか?

  2. ビットコードの完全性をテストする別の方法はありますか?

  3. また、標準ライブラリでこのテストを試しましたが、行/Applications/Xcode-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/usr/lib/libresolv.9.tbdが出力segname __LLVMされないため、ビットコードが含まれていないことが示されます。私はそうあるべきですよね?とにかく、この .tbd lib は何ですか?

ところで、otool便利な場合に実行するためのショートカットを次に示します。

find . -name '*a' -type f -exec ./test_bitcode.sh {} \;

test_bitcode.sh

echo ""
echo "***** TESTING $1"
otool -l $1 | grep __LLVM | head -n1
4

1 に答える 1

0

ライブラリがstrip -xビットコードでビルドされていないことを確認してください。

strip がライブラリからビットコードを削除することがわかりました

また、あなたのスクリプトのようなもの: Bitcode Checking Script:

https://github.com/danoli3/Bitcode-Check-Script

使用法: bitcodeCheck "boost_system.a"

結果:

------------------
BITCODE=YES for: boost_system.a
------------------

これは、Appleによって指定された基準otoolに基づいて使用されます。__LLVM

于 2015-11-12T12:34:21.900 に答える