問題タブ [nsurlsessionconfiguration]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1593 参照

ios - NSURLSessionconfiguration.shouldUseExtendedBackgroundIdleMode : 何をしますか?

このインスタンス変数に関するドキュメントが見つかりませんでした。

アプリがバックグラウンドに移動された場合でも、ネットワーク リクエストへの応答を処理できることに関係がありますか?

0 投票する
1 に答える
538 参照

ios - バックグラウンドの NSURLSessionConfiguration ID を別のプロセスから再利用しても安全な時期を知るにはどうすればよいですか?

ユーザーがアプリと共有拡張機能からバックグラウンドでファイルのアップロードを開始できるアプリを構築しています。ユーザーは、メイン アプリからのアップロードの進行状況を監視できる必要があります。

アップロードが拡張機能から開始される場合、拡張機能で使用されたのと同じ ID を使用してバックグラウンド セッション構成を作成し、アプリで進行状況などを監視するデリゲート呼び出しを取得する必要があります。

アプリでは、拡張機能が終了するまでこれを行うことはできません。Apple docs は言うhttps://developer.apple.com/library/prerelease/content/documentation/Cocoa/Conceptual/URLLoadingSystem/Articles/UsingNSURLSession.html

識別子 (構成オブジェクトの作成時に指定) ごとに 1 つのセッションを作成する必要があります。同じ識別子を共有する複数のセッションの動作は未定義です。

これを確認しました。共有拡張機能を閉じなければ、メイン アプリでエラーなしでセッションを作成できますが、デリゲート コールは受信しません。メイン アプリに戻る前に拡張機能を閉じると、同じバックグラウンド セッションにアタッチでき、デリゲート コールを取得できます。すべて良い。

completeRequestReturningItems:completionHandler:inを使用して共有拡張機能をNSExtensionContext閉じると、プロセスはいつ終了しますか?

https://developer.apple.com/library/ios/documentation/Foundation/Reference/NSExtensionContext_Class/#//apple_ref/occ/instm/NSExtensionContext/completeRequestReturningItems:completionHandler :

言及

このメソッドを呼び出すと、最終的にアプリ拡張機能のビュー コントローラーが閉じられます。

「最終的に」はあまり具体的ではありません。拡張機能が実行されていないことをメイン アプリから確実に知るにはどうすればよいですか?

私が見つけた唯一の回避策は、共有コンテナーに定期的にファイルを書き込み、その期間よりも長いタイムアウトの後にメイン upp が最初にバックグラウンド セッションを取得するようにすることです。しかし、それは醜いハックです。

アップロードが小さい場合、メイン アプリではなく拡張機能でアップロードの完了を処理する必要があるように、拡張プロセスの実行中にアップロードが終了する可能性はありますか?

要約すると、アプリ拡張機能からアプリにアップロードを安全に転送するにはどうすればよいでしょうか?

0 投票する
2 に答える
1393 参照

swift - Alamofire は timeoutIntervalForRequest および timeoutIntervalForResource パラメータを無視します

timeoutIntervalForRequest現在、iOS アプリのすべての Alamofire リモート呼び出しのデフォルト値とtimeoutIntervalForResourceのデフォルト値をNSURLSessionConfigurationそれぞれ 60 秒と 7 日間待機させたくないため、減少させようとしています。

これは私のコードです:

これは私のログです:

ご覧のとおり、Request Duration値は 30 秒を超えています。

Alamofire.Manager.sharedInstance.requestこれは、代わりに使用するという事実に依存しますAlamofire.requestか?

0 投票する
1 に答える
2650 参照

ios - フォアグラウンド NSURLSession からバックグラウンド NSURLSession への移行 - 進行中のタスクの処理

アプリがバックグラウンドに入った場合 (ホーム ボタンを押した場合など) に、インプロセスの NSURLSessionTasks を正しく処理しようとしています。私は現在、進行中のタスクをバックグラウンド キューにコピーするアプローチをとっています (以下のコードを参照)。ただし、バックグラウンド タスクが不規則に動作しており、常に終了しているとは限りません。私が間違っている可能性があることを見つけたり、最善のアプローチについてアドバイスしたりできますか?

0 投票する
1 に答える
1209 参照

ios - WiFi でのアップロード時の NSURLSession エラー: NSURLErrorDomain Code=-999

私は 1 年以上前に、ユーザーに写真共有とビデオ共有を提供するアプリを作成しました。数週間前に新しい機能を導入するまで問題なく実行されました: WiFi が利用可能な場合にのみアップロードするビデオをマークする可能性: ビデオは、allowsCellular が NO に設定されている NSURLSessionConfiguration で NSURLSession を使用するように設定されています.

ほとんどの場合、問題なく動作します:

  • 3G/4G 経由で接続しているときに、ビデオを WiFi で共有するように設定しました
  • WiFi ネットワークに接続すると、ビデオは問題なくアップロードされます

ただし、一部のユーザーは、WiFi に接続すると動画がアップロードされません。それらからいくつかのログを取得しましたが、Wifi に接続するたびにエラーが表示されます。何らかの理由で、NSURLSession が次のデリゲート呼び出しを行います。

次のエラーが発生します。

何か案は?サーバーに問題がある可能性はありますか?奇妙なことに、それを再現することも、失敗の理由を理解することもできません。

前もって感謝します!

0 投票する
0 に答える
160 参照

background-service - sessionWithConfiguration: デリゲート: delegateQueue: シミュレーターでは動作しますが、デバイスでは動作しません

バックグラウンド転送サービスを使用して複数のオーディオ ファイルをダウンロードしていますが、昨日まではすべて正常に機能していました。プロジェクトを実行すると、次の行の 2 行目にスタックしました -

NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier:@"com.example.myapp"];

セッション = [NSURLSession sessionWithConfiguration:構成デリゲート:self delegateQueue:nil]; //何も返さなかった

複数のデモアプリをダウンロードしましたが、それらはシミュレーターでもデバイスの「defaultSessionConfiguration」でも期待どおりに動作していますが、同じ行に留まりました。

その場合、何が問題になる可能性がありますか?

助けてくれてありがとう