2

UIApplicationにカテゴリを追加しましたが、実行時に認識されないセレクターエラーが発生します。

このコードは別のプロジェクトで10か月間存在し、機能しているので、根本的に問題はないことがわかります。私は新しいプロジェクトを作成中であり、他のプロジェクトのソースファイルを再利用しています。私はそれらを変更せずに新しいプロジェクトに追加しましたがそれらは引き続き古いプロジェクトで機能します。したがって、このコードは新しいプロジェクトで機能するはずです。

まったく同じコードが1つのプロジェクトで機能しているのに、別のプロジェクトでは機能していない理由について、私は途方に暮れています。

参考までに、カテゴリは次のとおりです。

@interface UIApplication (NetworkActivity)
- (void)resetNetworkActivity;
@end


The call which fails:
[[UIApplication sharedApplication]  resetNetworkActivity];


2012-10-18 14:19:26.134 IMS-Reference[5946:907] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIApplication resetNetworkActivity]: unrecognized selector sent to instance 0x1e58e240'
*** First throw call stack:

なぜそれが機能しないのか考えはありますか?

4

2 に答える 2

0

通常、これは*.mファイルがターゲットのコンパイルフェーズにないためです。だから...それをトリプルチェックしてください:)

于 2012-10-18T21:24:45.533 に答える
0

まず、カテゴリを実際にコンパイルしたことを確認します。XCodeで、あるプロジェクトから別のプロジェクトにファイルをドラッグすると、ビルドフェーズのコンパイルソースセクションにファイルが追加されないことに気付きました。

于 2012-10-18T21:25:02.567 に答える