0

App Store リリース ビルド用に自動的に削除したい TestFlight SDK およびその他のデバッグ フレームワークを使用するアプリがあります。

新しい「App Store」ビルド構成を作成しましたが、このビルドに含めたいフレームワークを Xcode に教えるにはどうすればよいですか? また、これらのフレームワークを使用するコードを条件付きにして、App Store リリース ビルドから除外するにはどうすればよいですか?

4

1 に答える 1

2

関係のないコードを削除するために、有利に機能するプロセスの 3 つのコンポーネントがあります。

まず、プリプロセッサがあります。TestFlight のインポートとコードを#if DEBUGステートメントでラップすれば問題ありません。この#ifステートメントは、プリプロセッサが必要のない余分なステートメントを削除するように設計されています。コンパイラには届きません。

第 2 に、コンパイラが用意されています。コンパイラは、リリース ビルドからデッド コードを削除することについて賢明です。コードを書いて使わなければ、プリプロセッサを通過しても最終的なバイナリにはなりません。

第 3 に、これらのフレームワークがリリース ビルドに組み込まれることを本当に懸念している場合は、Xcode で追加のターゲットを作成し、そのターゲットのリンカー オプションを変更できます。これは必須ではありませんが、必要に応じてオプションがあります。これは、「明示的な除外」に最も近いものです。

ただし、正直なところ、そうしない理由がない限り、コンパイラとリンカーを信頼してください。

于 2013-06-04T15:26:46.100 に答える