6

バックグラウンドでファイルのアップロードを続行できるかどうか疑問に思っていました。たとえば、ユーザーが iPad をスリープ状態にすると、アップロードが続行されます...

コア API を使用してドロップボックスにアップロードしているので、ドロップボックス フォーラムでもこの質問をしました。これが答えでした:

「コア API を使用すると、アップロードは完全にアプリの制御下にあります。アプリを一時停止する前に最大 10 分間、OS がアプリをバックグラウンドで維持するように要求できます。詳細を確認できます。こちら: https://developer.apple.com/library/ios/#documentation/iphone/conceptual/iphoneosprogrammingguide/ManagingYourApplicationsFlow/ManagingYourApplicationsFlow.html 新しい同期 API を使用する場合、これはすべて API によって自動的に行われます。

「OSがアプリをバックグラウンドで維持するように要求する」という意味が理解できなかったため、ここに投稿しています。これは、ios に特定のコードを要求する必要があるということですか?それはドロップボックスとは関係ありませんか、それとも特定のドロップボックス機能ですか?

4

4 に答える 4

24

OS にアプリを実行し続けるように依頼する必要があります。これは Dropbox とは関係ありません... アップロードを開始したら、次のようにします。

UIBackgroundTaskIdentifier bgTask = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{
    [[UIApplication sharedApplication] endBackgroundTask:bgTask];
}];

bgTask...そしてどこかに保管してください。次に、アップロードが完了または失敗したら、次のようにします。

[[UIApplication sharedApplication] endBackgroundTask:bgTask];

バックグラウンドタスクが実行されているため、アプリを実行し続けるようOSに指示します...

于 2013-04-03T14:32:24.810 に答える
2

http://developer.apple.com/library/ios/#documentation/uikit/reference/UIApplicationDelegate_Protocol/Reference/Reference.html

リクエストするということは、App Delegate メソッド applicationDidEnterBackground が呼び出されたときに、完了するまでに約 5 秒かかることを意味します。長いアップロードを行っているため、beginBackgroundTaskWithExpirationHandler を介して追加の時間をリクエストできます

于 2013-04-03T14:36:11.883 に答える
0

新しい Dropbox SDK は、ファイルのバックグラウンド アップロード/ダウンロードの機能を提供します。新しいSDKをお試しください。楽しいコーディングを。

于 2013-04-24T12:10:22.860 に答える