sendSynchronousRequest:returningResponse:error:'已弃用

时间:2016-02-24 10:18:46

标签: ios objective-c xcode7

enter image description here 有人试图解决这个发送同步请求问题...提前谢谢。

2 个答案:

答案 0 :(得分:0)

NSUrlConnection已弃用在IOS 9和+中,因此,如果您选择Sessions,则不会出现该错误。

答案 1 :(得分:0)

你的实际问题不是NSURLConnection使用ios9即使它也被弃用也会处理它,这里你从ios9 apple使用的HTTP请求的问题阻碍了HTTP请求作为App Transport Security(ATS)的一部分的使用。

您可以通过将此密钥添加到项目的info.plist中来绕过此目的

    <key>App Transport Security Settings</key>
    <dict>
        <key>Allow Arbitrary Loads</key>
        <YES/>
    </dict>

而不是sendSynchronousRequest:您可以使用以下代码。

     [[[NSURLSession sharedSession] dataTaskWithRequest:request completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {
            NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
            NSLog(@"response status code: %ld", (long)[httpResponse statusCode]);
            if ([httpResponse statusCode] == 200) {
                NSLog(@"Success");
            } else
            {
                NSLog(@"Fail");
            }

        }] resume];