Ich hatte eine Weile mit diesem Fehler zu kämpfen und konnte es erst jetzt herausfinden, also wollte ich einwerfen, was für mich funktionierte, nur für den Fall, dass jemand anderes darüber stolpert.
In meinem Szenario habe ich ein PadController.h
und ein PhoneController.h
, die sowohl von AppController.h
erben und ich hielt den Fehler bekommen, dass AppController
nicht registerForSystemEvents:
Es wurde auf einem statischen Aufruf andernfalls könnte, so dass es im Wesentlichen versucht zu tun [AppController registerForSystemEvents:]
Mein AppController
sah wie folgt aus:
@interface AppController : NSObject <UIApplicationDelegate, UITabBarControllerDelegate>
Zuerst: Stellen Sie sicher, dass Ihr App-Delegierter von NSObject
erbt und dem Protokoll UIApplicationDelegate
entspricht.
Zweitens: Ich hatte in meinem Plist eine Zeile, die Principle Class sagte, die auf AppController zeigte. Das zu beseitigen ist tatsächlich das, was speziell für mich funktioniert hat. Ich denke, es wurde versucht, AppController zweimal zu starten (einmal von Interface Builder und einmal von diesem).
Drittens: Stellen Sie sicher, main.h
etwas wie folgt aussieht:
@autoreleasepool {
int retVal = UIApplicationMain(argc, argv, nil, nil);
return retVal;
}
Sache ist, ich nicht dieses Ereignis nennen jemals hatte. Ich habe gerade "neues Projekt" gesagt und dann gebaut und ausgeführt ... –