問題タブ [nsurlsession]
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.
ios - NSURLSessionDownloadTaskDelegate JSON 応答
バックグラウンドで NSURLSession セッションを実行しており、NSURLDownloadTaskDelegate コールバックの 1 つから JSON 応答を取得する方法を見つけようとしています。JSON 応答を受け入れるようにセッションを構成しました。
次のコールバックを使用して、NSURLSessionDownloadTasks の JSON 応答を簡単に解析できます。JSON 応答を NSURL の形式でサンドボックスに書き込みます。
私の問題は、上記のコールバックが呼び出されないというエラーが発生した場合、ダウンロードが成功した場合にのみ呼び出されるように見えることです。バックグラウンド セッションを使用しているため、NSURLSessionDataDelegate コールバックを使用できません。NSURLSessionDownloadTaskDelegate と NSURLSessionTaskDelegate のみを使用できますが、次のコールバックを使用してタスク応答を取得できます。応答に JSON が表示されません。
NSURLConnectionには、JSON 応答を取得するために使用できるNSDataオブジェクトを提供するdidReceiveDataパラメータがあります。NSURLDataTask以外のNSURLSessionのデリゲート コールバックではそれが見られませんが、バックグラウンドでデータ タスクを使用できないため、JSON 応答を取得するにはどうすればよいでしょうか? どんな助けでも大歓迎です
編集:
私は通常、アプリをバックグラウンドで実行しているときにこの問題が発生します (ほとんどの場合、一時停止されているだけでなく、メモリが追い出されている場合)。appDelegate にコールバックを実装し、セッションに再関連付けできます。didFinishDownloadingToURL は、タスクが正常に完了した場合にのみ呼び出されると思いますが、タスクが失敗した場合、呼び出される保証はありませんが、一方 didCompleteWithError は、障害が発生するたびに呼び出されます
ios - NSURLSessionConfiguration timeoutIntervalForRequest と NSURLSession timeoutInterval
新しい NSURLSession では、セッションの作成に使用される NSURLSessionConfiguration オブジェクトに timeoutIntervalForRequest が存在するようになりました。
ただし、セッションで NSURLSessionTask を作成するために使用できる NSURLRequest オブジェクトにはまだ timeoutInterval があります。
私の質問は、構成で timeoutIntervalForRequest が 30 に設定されているが、タスクを作成するために使用する NSURLRequest で timeoutInterval が 60 である場合、実際に使用されるタイムアウト間隔はどれですか?
ios - NSURLSession の使用中に資格情報を渡すにはどうすればよいですか
utorrent webui を使用して自分のコンピューターにログインしようとしています。
現在、次のコードを使用しています。
デスクトップ Web ブラウザーを使用している間は問題なくページを表示できますが、私のアプリでは常に 401 エラー (承認されていません) が返されます。
これは、資格情報が使用されていないためだと思いますか? もしそうなら、それを使用する正しい方法は何ですか?また、NSURLSessionDelegate メソッドは呼び出されていません。他にやらなければならないことはありますか?
ios - ブロック内で変数を割り当てるにはどうすればよいですか?
他の質問から、変数の前に __block を追加するだけでよいようですが、うまくいかないようです。
ブロック内では、NSLog() を使用してチェックすると、トークンが正しく割り当てられます。トークンを返す前にもう一度確認すると; NULL になります。
ios - NSURLSession を使用した HTTP PUT メソッド
iOS 7 SDK で導入されたクラスに苦労しており、 REST APIをメソッドでNSURLSession
呼び出す必要がある時点で立ち往生しています。PUT
私はすでに実装GET
しておりPOST
、これを使用して正常に動作しているメソッドは次のとおりです。
残念ながら、 に設定httpMethod
してPUT
もうまくいかないようです ( のように動作しますGET
)。*url のコンテンツを cURL コンソールから呼び出すと正常に動作するため、API へのパスは問題ありません。
PUT
を使用して API への有効なリクエストを作成するにはどうすればよいNSURLSession
ですか?