iOS-OC-APP後臺持續執行
//1.設定定時器
@implementation AppDelegate
{
NSTimer* _timer;
}
//2.app進入後臺 啟動定時器
- (void)applicationWillEnterForeground:(UIApplication *)application {
[_timersetFireDate:[NSDatedistantFuture]];
// Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
}
//3.後臺執行函式
-(void)logAction
{
NSLog(@"在後臺執行");
}
- (void)applicationDidEnterBackground:(UIApplication *)application {
_timer = [NSTimerscheduledTimerWithTimeInterval:1.0ftarget:selfselector:@selector(logAction)userInfo:nilrepeats:YES];
[[NSRunLoopcurrentRunLoop] addTimer:_timerforMode:NSDefaultRunLoopMode];
UIApplication* app = [UIApplicationsharedApplication];
__block UIBackgroundTaskIdentifier bgTask;
bgTask = [app beginBackgroundTaskWithExpirationHandler:^{
dispatch_async(dispatch_get_main_queue(), ^{
if (bgTask != UIBackgroundTaskInvalid){
bgTask = UIBackgroundTaskInvalid;
}
});
}];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0), ^{
dispatch_async(dispatch_get_main_queue(), ^{
if (bgTask != UIBackgroundTaskInvalid){
bgTask = UIBackgroundTaskInvalid;
}
});
});
// Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
// If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
}
相關文章
- Web命令執行筆記(持續更新)Web筆記
- App切換到後臺後如何保持持續定位?APP
- Linux後臺執行Linux
- shell後臺執行
- 執行python指令碼後臺執行Python指令碼
- 讓網站不停止,永遠持續執行網站
- Linux 後臺執行命令Linux
- 後臺執行緒(daemon)執行緒
- jenkins後臺程式執行Jenkins
- 育碧執行長:持續加碼中國市場
- LevOJ平臺 - 持續更新
- Linux 下後臺執行和按照守護程式方式後臺執行的坑Linux
- windows的nohup後臺執行Windows
- Linux jar包 後臺執行LinuxJAR
- 持續整合、持續部署、持續交付、持續釋出
- Linux nohup:後臺不掛起命令(後臺執行命令)Linux
- 持續整合、持續交付與持續部署
- [linux] 使用Screen後臺執行命令Linux
- 使用screen後臺執行任務
- mysql後臺執行緒詳解MySql執行緒
- Linux程式後臺執行實踐Linux
- 後臺執行SQL語句(oracle)SQLOracle
- 讓.py程式後臺執行(Linux)Linux
- Mac Redis 服務後臺執行MacRedis
- Linux 後臺執行 PHP 指令碼LinuxPHP指令碼
- 利用 Screen 保持 VSCode 連線遠端任務持續執行VSCode
- 持續整合持續部署持續交付_持續整合與持續部署之間的真正區別
- 將程式在後臺執行和殺掉後臺的程式
- linux後臺執行和關閉、檢視後臺任務Linux
- 效能優化 (十) APP 持續執行之程式保活實現優化APP
- 對持續整合、 持續交付、持續部署和持續釋出的介紹
- Golang 啟停管理及後臺執行Golang
- php後臺定時執行任務PHP
- XYHCMS 3.6 後臺程式碼執行漏洞
- Thread 中的 join() 方法的作用是呼叫執行緒等待該執行緒執行完後,再繼續執行thread執行緒
- 你真的懂持續整合、持續交付、持續部署嗎?!
- ET·ci —持續整合驗證平臺
- 淺談持續整合(CI)、持續交付(CD)、持續部署(CD)
- flutter 寫後臺系統,執行到windowsFlutterWindows