2016-09-02 35 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」(オーバーライドメソッド)を試みていて、バックグラウンドフェッチも有効にしています。ここで私はminimumbackgroundFetchTimeを15分に設定しましたが、決して解雇しませんでした。 iphoneとiosのiosデバッガをシミュレートしたバックグラウンドフェッチデバッガを使用する場合にのみ動作します。 –

関連する問題