2017-09-06 1 views
11

Swiftを含むプロジェクトのアーカイブを書き出すとき、「スウィフト記号を取り除く」というオプションが表示されます。 1つのダミーSwiftファイルを持つプロジェクトではアプリのサイズに違いは見られませんでした。したがって、最大限のストリッピングのための完全なケースです。Xcodeの "Swift Symbol"は実際に何をしますか?

これは正確に何を行い、最終的なアプリケーションサイズ(.ipa)にどのような影響を及ぼしますか?

enter image description here

PS:Xcodeの9ベータ版で見られるように6

UPDATE:特定のデバイスの変種を見たとき、実際に私は若干のIPAのサイズ縮小(3.4メガバイトの非圧縮)を観察することができます(ない普遍的なバリアントのためもののXcode docsによる)

+1

このコンテキストで私が考えることのできるのは、**リバースエンジニアリング**です。しかし、確かめるために、読めるクラッシュを見ることができます。ビルドにまだ* Strip Swiftシンボル*フラグが有効になっているデバッグシンボル*(dSYM)*が含まれていることを確認できます。 –

答えて

0

新しいストリップスウィフトシンボル(STRIP_SWIFT_SYMBOLS)ビルド設定はですがデフォルトで有効になっています。ビルドのリンクされた製品が取り除かれたときに というシンボルストリッピングのレベルが調整され、すべてのSwiftシンボル が削除されます。これにより、Swiftフレームワークのサイズが大幅に縮小されます。 dladdr()を使用している場合など、Swift記号がないと問題が発生する場合は、この設定を無効にすることができます。削除されたファイルからエクスポートされたシンボル を表示するには、 (nm)の代わりにxcrun dyldinfo -exportを使用します。 (31306055)

関連する問題