Objective-C の静的ライブラリをビルドする際に、.a ファイル (シミュレーターと iPhone からのファット ファイル) が非常に大きいことに気付きました。特に、元々は5.7mbでした。この投稿を見つけて、ビルド設定Generate Debug Symbols
をいいえに設定し、ライブラリのサイズを 1.7 MB に減らしました。
これは大きな改善でしたが、他にできることはありますか? 実装ファイルとヘッダー ファイルだけで 100kb を占めます。
Objective-C の静的ライブラリをビルドする際に、.a ファイル (シミュレーターと iPhone からのファット ファイル) が非常に大きいことに気付きました。特に、元々は5.7mbでした。この投稿を見つけて、ビルド設定Generate Debug Symbols
をいいえに設定し、ライブラリのサイズを 1.7 MB に減らしました。
これは大きな改善でしたが、他にできることはありますか? 実装ファイルとヘッダー ファイルだけで 100kb を占めます。
それがあなたの懸念の一部である場合、静的ライブラリは、一緒にアーカイブされた関連する .o ファイルといくつかの簿記です。したがって、1.7 メガバイトの静的ライブラリは、たとえその中のコードが 1.7 メガバイト全体であっても、通常、製品に 1.7 メガバイトを追加することはありません。デッド コード ストリッピングに関する通常のルールが適用されます。
それを超えると、コードのビルド サイズを縮小できます。以下はおそらく包括的なリストではありません。
ターゲットのビルド設定で「最適化レベル」を探します。これを「Fastest, Smallest -Os」に切り替えると、コンパイラがサイズのために速度をいくらか犠牲にすることができます。
よりコンパクトな ARM コードである親指用にビルドしていることを確認してください。-mno-thumb
LLVM を使用していると仮定すると、プロジェクト設定のどこにもないことを確認する必要があります。
また、構築するアーキテクチャについても検討してください。Apple は、ARMv6 と iPhone 5 画面の両方をサポートするアプリの提出を許可しておらず、最新の Xcode から ARMv6 のサポートを完全に削除しました。したがって、現時点でそれを含める意味はおそらくありません。