5.iOS 自定义后台

#import <UIKit/UIKit.h>

@interface MyAppDelegate : UIResponder <UIApplicationDelegate>
{
    int count;
    UIBackgroundTaskIdentifier taskID;
}

@property (strong, nonatomic) UIWindow *window;

@end


#import "MyAppDelegate.h"

@implementation MyAppDelegate

- (void)dealloc
{
    [_window release];
    [super dealloc];
}

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
    // Override point for customization after application launch.
    self.window.backgroundColor = [UIColor whiteColor];
    [self.window makeKeyAndVisible];
    
//    [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(timeAction:) userInfo:nil repeats:YES];
    return YES;
}

//-(void)timeAction:(NSTimer*)timer
//{
//    count++;
//    NSLog(@"%d",count);
//}
-(void)TimesrAction:(NSTimer*)timer
{
    count++;
    if (count==500) {
        UIApplication *application=[UIApplication sharedApplication];
        [application endBackgroundTask:taskID];
        
        //开启一个新的后台
        taskID=[application beginBackgroundTaskWithExpirationHandler:^{
            
        }];
    }
    NSLog(@"%d",count);
}

//后台服务时,监听
- (void)applicationDidEnterBackground:(UIApplication *)application
{
//    //开启一个后台任务,默认600秒
//    taskID=[application beginBackgroundTaskWithExpirationHandler:^{
//        //结束指定的任务
//        [application endBackgroundTask:taskID];
//    }];
    
    
    taskID=[application beginBackgroundTaskWithExpirationHandler:^{
        [application endBackgroundTask:taskID];
    }];
    
    [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(TimesrAction:) userInfo:nil repeats:YES];
}


你可能感兴趣的:(5.iOS 自定义后台)