La fonction de récupération d'état n'est pas disponible sur le simulateur. Elle est difficile à tester. Il n'y a aucun problème sur le vrai appareil. Allez-y, utilisez-la, mon garçon.
Utilisez plutôt NSUserDefaults :
-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//load status when starting
NSString * statusToRestore = [[NSUserDefaults standardUserDefaults] objectForKey:@"FightingStatus"];
NSDate *lastUpdated=[[NSUserDefaults standardUserDefaults] objectForKey:@"LastUpdated"];
NSLog(@"restored:%@ on %@",statusToRestore,lastUpdated);
return YES;
}
-(void)applicationWillEnterForeground:(UIApplication *)application {
//restore status when reactive
NSString * statusToRestore = [[NSUserDefaults standardUserDefaults] objectForKey:@"FightingStatus"];
NSDate *lastUpdated=[[NSUserDefaults standardUserDefaults] objectForKey:@"LastUpdated"];
NSLog(@"restored:%@ on %@",statusToRestore,lastUpdated);
}
-(BOOL)application:(UIApplication *)application shouldSaveApplicationState:(nonnull NSCoder *)coder
{
return YES;
}
-(BOOL) application:(UIApplication *) application shouldRestoreApplicationState:(nonnull NSCoder *)coder
{
return YES;
}
-(void)application:(UIApplication *)application willEncodeRestorableStateWithCoder:(nonnull NSCoder *)coder
{
//
//[coder encodeFloat:2.0f forKey:@"Version"];
//NSLog(@"encode version :2.0f");
//save status when inactive
NSString * statusToSave=@"Fighting";
NSDate *lastUpdated = [NSDate dateWithTimeIntervalSinceNow:-3600];
[[NSUserDefaults standardUserDefaults] setObject:statusToSave forKey:@"FightingStatus"];
[[NSUserDefaults standardUserDefaults] setObject:lastUpdated forKey:@"LastUpdated"];
NSLog(@"saved:%@ on %@",statusToSave,lastUpdated);
}
-(void)application:(UIApplication *)application didDecodeRestorableStateWithCoder:(NSCoder *)coder
{
//failed when testing in simulator
//NSLog(@"Version=%g",[coder decodeFloatForKey:@"Version"]);
}
La fonction de récupération d'état n'est pas disponible sur le simulateur. Elle est difficile à tester. Il n'y a aucun problème sur le vrai appareil. Allez-y, utilisez-la, mon garçon.
Utilisez plutôt NSUserDefaults :