2016-12-05 60 views
1

在我的應用程序中,用戶需要通過iOS設置將設備WiFi連接到另一個WiFi。我希望我的應用程序在一段時間內保持在後臺(如最長5分鐘)而不會暫停,直到用戶連接到另一個網絡並返回到應用程序。如何在後臺運行iOS應用程序(iOS 9+)直到用戶更改iOS設備的WiFi設置

我觀察到我的應用程序在切換設備wifi期間從後臺移除。該應用程序不會在後臺保持活動狀態。

如何讓iOS應用程序(iOS 9+)在後臺保持一段時間,即5分鐘?

+0

爲什麼你的應用程序將從背景中刪除?您的應用是否打開任何套接字連接?還是它執行任何bakcground任務?如果沒有,那麼據我所知,除非系統內存不足,否則您的應用程序不會輕易被殺死。我不太確定,如果我錯了,請糾正我。 –

回答

0

應用移動到背景,預計把自己變成一個 靜止狀態儘快使得它們可以懸浮 由系統。如果您的應用程序處於任務的中間並且需要額外的時間才能完成該任務,則可以調用對象的 beginBackgroundTaskWithName:expirationHandler:beginBackgroundTaskWithExpirationHandler:方法來請求一些額外的執行時間。調用 之一這些方法會暫時延遲您的應用程序的暫停,併爲其完成其工作稍微多花一點時間。完成該工作後,您的應用程序必須調用endBackgroundTask:方法,讓系統 知道它已完成並可以暫停。

(來源:https://developer.apple.com/library/content/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html

0

iOS Backgrounding with Tasks

時間的應用程序將在後臺的10分鐘,這是600秒。

您可以使用代碼

NSLog(@"Time Remaining: %f", [[UIApplication sharedApplication] backgroundTimeRemaining]); 

因爲你需要的僅僅是打開wifi的導通可能需要不到10分鐘,我想知道剩餘時間。

希望我的回答很清楚並且有幫助。

相關問題