ASIHTTPREQUEST 在 iOS 8.3 中未按预期工作

ASIHTTPREQUEST not working as expected in iOS 8.3

我在我的应用程序中使用了 asihttprequest 类 来调用 web-api。

但现在它在 iOS 8.3 和 iOS 11+ 中都不起作用,并且已经开发了完整的应用程序,因此无法将整个 asihttprequest 更改为 afnetworking 所以我只需要 asihttprequest 中的一些解决方案。

我想补充一点,当我使用 startAsynchronous 调用 api 时它不起作用,但是当我使用 startSynchronous 时它工作正常但有一段时间它会冻结应用程序。

一旦发送请求,它就不会返回任何失败或成功的响应。

我正在使用 ASIFormDataRequest 像这样调用 api。

 NSString *stringurl=[NSString stringWithFormat:@"%@%@",kBaseUrl,kForgotPasswordAPI];
    NSString * encodedUrl = [stringurl stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLFragmentAllowedCharacterSet]];
    NSURL *url = [NSURL URLWithString:encodedUrl];
    requestForgotPassword = [ASIFormDataRequest requestWithURL:url];
    [requestForgotPassword setRequestMethod:@"POST"];
    [requestForgotPassword setPostValue:@"mobile" forKey:@"environment"];
    [requestForgotPassword setPostValue:txtEmailAddress.text forKey:@"email_address"];
    [requestForgotPassword setTimeOutSeconds:60];
    [requestForgotPassword setDelegate:self];
    [requestForgotPassword startAsynchronous];

最后我找到了答案,因为我描述了我在使用 ASIHTTPREQUEST 调用 web-Api 时遇到的问题。

现在我为解决这个问题所做的是我改变了 api 呼叫时间,就像我第一次在 viewDidLoad() 中呼叫 api 但现在我在 viewDidLoad() 中呼叫 api viewDidAppear() 它对我来说工作正常。

如果其他人遇到同样的问题,请尝试此解决方案,请不要在下一个项目中使用此 ASIHTTPREQUEST class。

谢谢。