J'ai une méthode statique appelée writeToServer
qui est appelée lorsque l'application entrer dans mode d'arrière-plan.Pourquoi mon application plante sur applicationDidEnterBackground?
dans mon AppDelegate.m
:
- (void)applicationDidEnterBackground:(UIApplication *) application {
[LogZone writeToServer];
NSLog(@"Log sended to server. Done.");
}
dans mon LogZone.m
:
+ (void) writeToServer {
NSString *qStr = [[NSString alloc]
initWithFormat:@"%@?ip=%@&uid=%@&platform=%@&model=%@&lat=%@&lon=%@",
LOG_SERVER_URL,
_LOG_IP, _LOG_UID, _LOG_PLAT, _LOG_MOD, _LOG_LAT, _LOG_LON];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:qStr]];
[request setHTTPMethod: @"POST"];
[NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
}
vars Majuscules sont des chaînes statiques créées de cette façon:
.h
extern NSString* _LOG_UID;
.m
NSString* _LOG_UID = @"-1";
Quand je rentre en arrière-plan, il plantage avec ce "classique" Erreur:
* -[CFString respondsToSelector:]: message sent to deallocated instance 0x6a4c800
Mais pourquoi?
Je ne publie rien! =!
Qu'est-ce qui ne va pas?
afficher les trace de la pile du débogueur. – coneybeare
je ne suis pas capable. il ne montre que moi "2011-01-22 21: 02: 02.314 myApp [8709: 207] *** - [CFString respondsToSelector:]: message envoyé à l'instance désaffectée 0x6942bf0" sur cette ligne: "NSString * qStr [... ] " – elp
Notez que l'objectif-c n'a pas de méthodes * statiques * .... – bbum