App Store リリース ビルド用に自動的に削除したい TestFlight SDK およびその他のデバッグ フレームワークを使用するアプリがあります。
新しい「App Store」ビルド構成を作成しましたが、このビルドに含めたいフレームワークを Xcode に教えるにはどうすればよいですか? また、これらのフレームワークを使用するコードを条件付きにして、App Store リリース ビルドから除外するにはどうすればよいですか?
関係のないコードを削除するために、有利に機能するプロセスの 3 つのコンポーネントがあります。
まず、プリプロセッサがあります。TestFlight のインポートとコードを#if DEBUG
ステートメントでラップすれば問題ありません。この#if
ステートメントは、プリプロセッサが必要のない余分なステートメントを削除するように設計されています。コンパイラには届きません。
第 2 に、コンパイラが用意されています。コンパイラは、リリース ビルドからデッド コードを削除することについて賢明です。コードを書いて使わなければ、プリプロセッサを通過しても最終的なバイナリにはなりません。
第 3 に、これらのフレームワークがリリース ビルドに組み込まれることを本当に懸念している場合は、Xcode で追加のターゲットを作成し、そのターゲットのリンカー オプションを変更できます。これは必須ではありませんが、必要に応じてオプションがあります。これは、「明示的な除外」に最も近いものです。
ただし、正直なところ、そうしない理由がない限り、コンパイラとリンカーを信頼してください。