19
var session = NSURLSession.sharedSession()
session.dataTaskWithRequest(urlRequest, 
                            completionHandler: {(data: NSData!, 
                                                 response: NSURLResponse!,                       
                                                 error: NSError!) in
                                                      println(data)
                                                      println(response)
                                                      println(error)
                                               })

したがって、私はこのリクエストを行っていますが、完了ブロックは呼び出されません。

どうしたの?

またsynchronous and asynchronous form、同じリクエストを試してみましたが、NSURLConnection完全に機能しました。

編集:

dataTaskに変数を割り当ててみたところsession.dataTaskWithRequest、すぐに表示されました。これは<__NSCFLocalDataTask: 0xb41bda0> { suspended }中断されていますか?なんで?

4

6 に答える 6

7

プレイグラウンドを使用していますか??

その場合は、以下を含めるように注意する必要があります。

 XCPSetExecutionShouldContinueIndefinitely(continueIndefinitely: true)

プレイグラウンドにコールバックを待機させるには

于 2014-08-21T17:17:34.443 に答える
5

私は同じ問題に直面し、私はそれを解決しました

NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request completionHandler:^(NSData * data, NSURLResponse * response, NSError * error) {

    if (!error)
    {
        NSLog(@"Data is %@",data);
        NSLog(@"Response is %@",response);
        NSLog(@"Error is %@",error);
    }
 }];

[dataTask resume];

に追加されていることを確認しApp Transport Security Settingsますinfo.plist

于 2016-12-27T06:46:23.783 に答える