問題タブ [nsurlconnectiondelegate]
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.
objective-c - NSURLConnectionDelegateプロトコルのProgressIndictorの実装
ファイルをアップロードおよびダウンロードしようとしているときに、進行状況を表示しようとしています。
読んでいて、これが私が使用する必要がある方法のように見えます。
その関数がどのように機能するか(つまり、いつ呼び出されるかなど)について詳しく知りたいのですが、リファレンスドキュメントが見つからないようです。このURLにアクセスしましたが、その特定の機能については何も述べていません。
どこでそれについてもっと読むことができますか?
ありがとう、
ティー
iphone - iOS 5 のメインスレッドで呼び出される NSURLConnection デリゲート
Http通信によるコンテンツダウンロード機能を持つiPhoneアプリをバージョンアップ中です。iOS 4 では、イベントはメイン スレッドで発生し、NSURLConnectionDelegate 関数は別のスレッドで呼び出されていました。しかし、iOS 5 で同じコードをテストしたところ、NSURLConnectionDelegate 関数がメイン スレッドで呼び出されていることがわかりました。
NSURLConnection sendSynchronousRequest:は使用しませんでしたが、initWithRequest:を使用しました。
Apple は iOS 5 で NSURLConnection のこの部分をアップグレードしましたか?
iphone - 別のスレッドでの非同期NSURLConnectionがデリゲートメソッドの呼び出しに失敗する
別のスレッドでNSURLConnectionを実行していますが(非同期であり、メインスレッドで実行すると機能することを認識しています)、親スレッドをデリゲートとして渡してもデリゲート呼び出しは行われません。誰かがこれを行う方法を知っていますか?
コード:
編集*
別のスレッドでNSURLConnectionを実行する必要がある理由は、iPhoneアプリで何かをダウンロードしていて、ユーザーが画面をロックするとダウンロードがキャンセルされるためです(ユーザーがホームボタンを押すだけでアプリがバックグラウンドに入ると、問題なく続行されます) )。これは、別のスレッドではなく、メインスレッドで非同期に接続を実行しているためだと理解しています。
NSURLConnectionを開始するときに、このコードを(別のスレッドではなく)試しました。
しかし、画面ロックでダウンロードがキャンセルされるという点で、これと同じ問題があります。
*更新
以下のトーマスの回答に追加するには(スレッドの終了に関してジェームズウェブスターの回答も正しいことに注意してください)、Appleドキュメントは次のように説明しています:「一時停止状態-アプリはバックグラウンドにありますが、コードを実行していません。システムはアプリをに移動しますこの状態は自動的に発生し、通知する前に通知されません。一時停止中、アプリはメモリに残りますが、コードは実行されません。」
ユーザーが画面をロックすると、アプリはバックグラウンド状態になり、すぐに一時停止状態になるため、すべての実行が停止され、ダウンロードが強制終了され、これが発生しようとしているという警告は表示されません...ユーザーが画面をロックしたが、まだ画面が見つからないことを通知する通知。
したがって、アプリがバックグラウンドに移行したときにすべてのダウンロードを一時停止(特定の情報を保存してNSURLConnectionをキャンセル)し、アプリが再びアクティブになったときにHTTPRangeヘッダーで再開します。これは問題のない回避策ですが、ダウンロードがバックグラウンドで行われていないため、ユーザーエクスペリエンスに悪影響を与えるため、理想的ではありません...残念です。
ios - SSErrorDomainエラーコード109。AmazonS3からのNewsStandダウンロード
iOSでAmazonS3からファイルをダウンロードしているとき。断続的にNSURLConnectionDownloadDelegateのメソッドdidFailWithError:呼び出されます。これは、受信したNSErrorオブジェクトをログに記録したときに取得したものです。
エラーコード:109エラードメイン:SSErrorDomainエラーの説明:「。s3.amazonaws.comに接続できません」
すべてのAppleドキュメント、StackOverflow、およびその他のサイトを検索しましたが、これについては何も見つかりませんでした。今日、私は自分の開発者アカウントを使用して、これについてもAppleに技術的な質問をしました。
何か案が ?
アップデート:
それで、HTTP応答エラーコード(403 Forbidden)を調べた後、私はその考えを思いつきました。これは、S3からの「RequestTimeTooSkewed」エラーが原因です(要求時間と現在の時間の差が大きすぎます)。iPad / Macのシステム時間を1時間変更してクロスチェックしましたが、小さな(200kb)ファイルであっても、このエラーはすぐに発生します。
多くのブログで提案されているように、私は最初に以下のようにAWSにHEADリクエストを送信して、日付文字列を取得し、システムの日付を渡さないようにしています
これをNSMutableURLRequestのDateヘッダーとして設定します
このリクエストをダウンロード用に問題に追加しています
それでも同じエラー!!!! 今では私の前回の状況よりもクレイジーになっています。
誰 ?
アップデート2
日付文字列の「GMT」を「+0000」に置き換えることで、リクエストを正常に行うことができました(iPadのシステムクロックが正しくない場合でも)。
アップデート3それでもいくつかのリクエストは同じエラーで失敗しますが、これは奇妙なことですが、NewsStandフレームワークが混乱しているものだと思います。
iphone - -[NSURLConnection sendAsynchronousRequest:queue:completionHandler:] の iOS4 実装?
-[NSURLConnection sendAsynchronousRequest:queue:completionHandler:]
iOS < 5に実装するにはどうすればよいですか?
ios - iOS5のNSURLConnection
WebサービスへのアクセスにNSURLConnectionを使用しています。
iOS 4.3で適切な応答が得られますが、iOS5で同じコードを実行すると、NULL応答が得られます。
正常に機能させるには、既存のNSURLConnectionデリゲートにどのような変更を加える必要がありますか。
NSURLConnectionDataDelegateとNSURLConnectionDelegateを実装しました。それでも機能しません。
前もって感謝します。
ios - NSURLConnection デリゲートを単体テストする方法は?
NSURLConnection デリゲートを単体テストするにはどうすればよいですか? Web からさまざまな ViewController にデータを提供するために、さまざまなプロトコルに準拠する ConnectionDelegate クラスを作成しました。先に進む前に、単体テストの作成を開始したいと思います。しかし、インターネットに接続せずにそれらをユニットとしてテストする方法がわかりません。非同期コールバックを処理するために何をすべきかについても知りたいです。
error-handling - NSURLConnectionはdidFailWithErrorを呼び出していません。
データソースのURLをチェックし、そのURLのオブジェクトを配列に入力するコードを作成しようとしています。実際にはうまく機能しますが、Web接続またはアドレスに問題がある場合は、バンドルされたファイルのデータを配列に入力します。私が抱えている問題は、connection didFailWithError
メソッドが呼び出されないことです。単純な文字列を渡してみましたが、呼び出されません。iPod touchを使用している人や機内モードの人でも、このアプリを引き続き機能させたいです。
connection didReceiveResponse
問題なく動作しています。
これは私が取り組んでいるものです。
-(void)接続:(NSURLConnection *)接続didFailWithError:(NSError *)エラー{
-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {listConnectFail = NO; NSLog(@ "接続が成功し、APIから入力しています"); }
私が見ていないのはおそらく愚かなことだと思いますが、助けを借りて自分が見ていないものを見ることができます
前もって感謝します!
ios - iOS。Grand Central Dispatch のコンテキストで URL 認証チャレンジを処理するにはどうすればよいですか
グランドセントラルディスパッチを多用しています。認証が必要なサーバーの URL 要求を行う必要があります。iOS のアプローチNSURLConnection
は非同期であるため、非同期タスクでの GCD の使用が複雑になります。私が理解しているように、NSURLConnection
同期モードをサポートしていますが、これには、要求元の URL にユーザー/パスを埋め込む必要がありますが、それがわからないため意味がありません。ここでのオプションは何ですか?
ありがとう、
ダグ
ios - NSURLConnectionDelegate。認証チャレンジをキャンセルするにはどうすればよいですか?
NSURLConnectionDelegateのかなり素晴らしいconnection:didReceiveAuthenticationChallenge:
デリゲートメソッドをうまく使用しています。涼しい。
ユーザーが認証チャレンジをキャンセルできるようにすることを適切にサポートしたいと思います。したがって、ユーザーに提示するGUIにはキャンセルボタンがあり、問題はそのボタンの背後でどのような動作が発生するかです。
現在、これ[[challenge sender] cancelAuthenticationChallenge:challenge]
を実行し、NSURLConnectionDelegateメソッドを実装しましたconnection:didCancelAuthenticationChallenge:
。Appleのドキュメントで、このコールバックに関するこのかなりあいまいなメモに気づきました。
iOS5.0より前の非公式プロトコルの一部として利用できます。
は?実際に起動するコールバックメソッドはconnection:didFailWithError:
誰かがここに光を当ててくれませんか?