我正在与swift和Alamofire合作一个iOS项目,当我试图发布请求时,我收到了一条奇怪的消息。奇怪的是,get请求运行得很好。
CredStore - performQuery - Error copying matching creds.  Error=-25300, query={
class = inet;
"m_Limit" = "m_LimitAll";
ptcl = htps;
"r_Attributes" = 1;
sdmn = Application;
srvr = "www.***.com";
sync = syna;}我不确定这是什么意思。
Alamofire.request(
       path,
       method: .post
      ).responseJSON { response in
                switch response.result {
                    case .success(let data):
                        let json = JSON(data)
                        print(json)
                       
                    case .failure(let err):
                        SVProgressHUD.dismiss()
                        print(err)
                    }
                }我们使用Ruby on Rails作为后端,返回的json总是:
{ "error" : "" }另外,在Rails rest控制器中,我们使用了before_action :authenticate_user!。如果我从控制器中删除此服务,则可以正常工作,但我们需要它。此外,我还尝试了本地服务器和远程主机上的服务器,但结果相同。
我还发现这篇文章谈到了同样的错误CredStore Perform Query error,但我们不使用用户名和密码身份验证这个应用程序。
另一种方法是使用Alamofire SessionManager手动设置登录时的cookies,但没有帮助。
lazy var sessionManager: SessionManager = {
        
            let cookies = HTTPCookieStorage.shared.cookies
            let configuration = URLSessionConfiguration.default
            configuration.httpAdditionalHeaders = HTTPCookie.requestHeaderFields(with: cookies ?? [])
            configuration.urlCredentialStorage = nil
            let manager = Alamofire.SessionManager(configuration: configuration)
               
            return manager
    }()发布于 2021-01-21 00:30:12
当Alamofire实现相关的URLSession委派方法时,操作系统检查是否存在与您的域相关联的凭据时会产生此错误,并且不会影响请求的完成。你可以忽略它。
https://stackoverflow.com/questions/65808126
复制相似问题