日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

iOS 无限后台运行

發(fā)布時間:2025/4/16 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 iOS 无限后台运行 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

2019獨角獸企業(yè)重金招聘Python工程師標準>>>

根據(jù)蘋果文檔中關(guān)于后臺執(zhí)行的描述,任何app都有10分鐘左右的后臺任務(wù)執(zhí)行時間。 10分鐘后,app會被iOS強行掛起。

但是,有5類app允許有“無限的”后臺運行時間:

1.? Audio。

2.? Location/GPS。

3.? VoIP。

4.? Newsstand。

5.? Exernal Accessory 。

你可以將任何app聲明為上述5種類型以獲得無限的后臺運行時間,但當你提交app到App Store時,蘋果會審查你的app,一旦發(fā)現(xiàn)你“濫用”了后臺API,你的app將被拒絕。

當然,對于企業(yè)開發(fā)而言,不存在“濫用”的問題——企業(yè)app可以通過OTA部署,不經(jīng)過蘋果商店審查。

在企業(yè)部署中,你可以將一個app聲明為VoIP,但這個程序根本和VoIP無關(guān),我們的目的只是為了讓iOS給我們無限后臺執(zhí)行的權(quán)限。聲明過程是在app的Info.plist文件中加入以下key:

<key>UIBackgroundModes</key>

<array>

<string>voip</string>

</array>

我測試了以下代碼:

定義一個:

@implementation AppDelegate
{
??? UIBackgroundTaskIdentifier bgTask;
?? ?
??? NSUInteger counter;
}




- (void)backgroundHandler {

???

????NSLog(@"### -->backgroundinghandler");

???

????UIApplication*????app = [UIApplicationsharedApplication];

???

????bgTask?= [app?beginBackgroundTaskWithExpirationHandler:^{

???????[app?endBackgroundTask:bgTask];

????????bgTask?=?UIBackgroundTaskInvalid;

????}];

???

????// Start the long-running task

????dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{

???????

????????while?(1) {

????????????NSLog(@"counter:%ld",?counter++);

????????????sleep(1);

???????}??

????});

}

- (void)applicationDidEnterBackground:(UIApplication?*)application

{

????BOOL?backgroundAccepted = [[UIApplicationsharedApplication]?setKeepAliveTimeout:600?handler:^{ [selfbackgroundHandler]; }];

????if?(backgroundAccepted)

????{

????????NSLog(@"backgrounding accepted");

????}

???

????[selfbackgroundHandler];

}



轉(zhuǎn)載于:https://my.oschina.net/starmier/blog/195137

總結(jié)

以上是生活随笔為你收集整理的iOS 无限后台运行的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。