Ich habe eine iPhone App, die hauptsächlich auf 3.0 ausgerichtet ist, aber die neueren APIs nutzt, wenn sie verfügbar sind. Code geht in etwa so:Schwache Verbindung auf dem iPhone weigert sich zu arbeiten
if (UIApplicationDidEnterBackgroundNotification != NULL) {
[nc
addObserver: self
selector: @selector(irrelevantCallbackName:)
name: UIApplicationDidEnterBackgroundNotification
object: nil];
}
nun nach allem Apples jemals gesagt, wenn die entsprechenden APIs schwach verknüpft sind, dass feine funktionieren wird, weil der dynamische Linker UIApplicationDidEnterBackgroundNotification
-NULL
bewerten wird. Außer, dass es nicht so ist. Die Anwendung kompiliert, aber sobald sie if (UIApplicationDidEnterBackgroundNotification != NULL)
erreicht, stürzt sie mit EXC_BAD_ACCESS
ab.
Ist das einfach eine Frage eines Compiler-Flags, das ich setzen muss? Oder mache ich das falsch?
Ich * wusste * Ich würde die Antwort finden, indem Sie einfach nach UIApplicationWillEnterForegroundNotification auf SO suchen ... Es muss der häufigste Grund für Entwickler sein, mit bedingt verfügbaren globalen umzugehen. –
@Pierre Lebeaupin: Das scheint der Fall zu sein. –