2016-09-02 4 views
0

모든 응용 프로그램에서 백그라운드로 실행되는 스레드를 만들 때마다 3 분 후에 자동으로 중지됩니다. iOS 응용 프로그램을 작성하는 데 Xamarin 양식을 사용하고 있습니다. 이 문제는 iOS에서만 발생하며 다른 플랫폼에서도 잘 작동합니다.배경 스레드가 xamarin에서 3 분 후에 자동으로 종료됩니다. iOS

nint taskID = UIKit.UIApplication.SharedApplication.BeginBackgroundTask(() => {Task.Factory.StartNew (() => syncData());}); 

나는 백그라운드 모드와 배경의 Info.plist에서 속성을 가져올 수 있도록하지만 문제가 해결되지 수 이것들을 사용하여 시도했다 : 여기 아래 내가 백그라운드 스레드를 만드는 데 사용되는 코드입니다.

위의 문제에 대해 제안 해주십시오.

답변

1

iOS7의 백그라운드 작업은 180 초 만 제공합니다. 앱이 '뮤직 플레이어/GPS 내비게이션'등으로 지정되지 않은 경우 코드에서 알 수 있듯이 동기화를 위해 백그라운드 작업을 사용하려고합니다. 그 배경 가져 오기 완벽하게 작동합니다. 당신은 여기 좋은 자습서를 찾을 수 있습니다 - https://developer.xamarin.com/guides/ios/application_fundamentals/backgrounding/part_3_ios_backgrounding_techniques/updating_an_application_in_the_background/

+0

을 난 이미 언급 한 링크를 방문하여 이미 백그라운드 모드와 배경의 Info.plist의 속성을 가져올 수 있지만, 이러한 내가 그 도움이되기를 바랍니다 문제 –

+0

@SatyajeetGupta를 해결할 수 사용하여 활성화했다 문제 해결 :) https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/Backgroundexecution.html – Taier

+0

xamarin 폼에서 API에서 데이터를 가져 오려고합니다. 또한 ios에서 제공하는 "Perfrom Fetch with completionHandler"(override 메서드)를 시도하고 백그라운드 가져 오기도 활성화하려고합니다. 여기에 minimumbackgroundFetchTime을 15 분으로 설정했지만 절대 실행하지 않았습니다. iphone 및 ios에 ios 디버거를 사용할 때만 시뮬레이터 용 배경 가져 오기 디버거가 작동합니다. –

관련 문제