私は主に3.0をターゲットにしているiPhoneアプリを持っていますが、新しいAPIが利用可能になったときにそれを利用します。コードは次のようになります。
if (UIApplicationDidEnterBackgroundNotification != NULL) {
[nc
addObserver: self
selector: @selector(irrelevantCallbackName:)
name: UIApplicationDidEnterBackgroundNotification
object: nil];
}
さて、Appleがこれまでに言ったことすべてによれば、関連するAPIが弱くリンクされている場合、動的リンカーはに評価されるため、これは正常に機能UIApplicationDidEnterBackgroundNotification
しNULL
ます。そうでないことを除いて。アプリケーションはコンパイルされますが、ヒットするとすぐに。if (UIApplicationDidEnterBackgroundNotification != NULL)
でクラッシュしEXC_BAD_ACCESS
ます。
これは単に、設定する必要のあるコンパイラフラグの問題ですか?それとも私はこれを間違った方法で行っていますか?