0

私は静的フレームワークを作成しており、それを複数のアプリケーションで使用します。フレームワーク コードでは、ARC フラグを無効にし、NO に設定しています。

フレームワークを使用する他のプロジェクトでは、ARC が YES または NO に設定されている可能性があります。そのため、フレームワークとフレームワークが使用されているプロジェクトの ARC フラグに不一致がある場合、既に割り当て解除されているものを割り当て解除しようとするため、アプリケーションがクラッシュします。

上記の問題の解決策はありますか?

よろしく、

ニラフ

4

1 に答える 1

3

ARC はコンパイル時の設定であるため、アプリケーションごとではなくファイルごとです。必要なのは、各ファイル内のコードが、ARC を使用しているかどうかについてコンパイラと一致していることを確認することだけです。ファイルが ARC を使用すべきときに使用していない場合にエラーをスローするには、次のようにします。

#if !__has_feature(objc_arc)
    #error This file should be compiled with ARC enabled
#endif

同様に、反対を検出します。

于 2012-10-06T04:46:13.850 に答える