Alamofire:有时没有任何特殊原因发生超时

时间:2015-05-19 08:48:34

标签: alamofire

有时启动应用程序时,所有请求都会因这些日志而超时:

DataGridColumn

以下是负责请求调用的代码示例:

| request: <NSMutableURLRequest: 0x170006aa0> { URL: http://#host#/api/settings?version=1428591014 } 
| response: nil 
| json: nil
| error: Optional(Error Domain=NSURLErrorDomain Code=-1001 "La requête a expiré." UserInfo=0x1740f0380 {NSUnderlyingError=0x174056440 "L’opération n’a pas pu s’achever. (kCFErrorDomainCFNetwork erreur -1001.)", NSErrorFailingURLStringKey=http://#host#/api/settings?version=1428591014, NSErrorFailingURLKey=http://#host#/api/settings?version=1428591014, NSLocalizedDescription=La requête a expiré.}) 

如果发生这种情况,所有请求都将失败并显示相同的日志。一个人必须手动终止应用程序(主页按钮)并重新启动它,然后所有请求都会成功...

任何人都有一些想法PLZ?

1 个答案:

答案 0 :(得分:1)

据我记得,我遇到了同样的问题。使用较新版本的Xcode时,默认情况下不允许使用http连接。我在切换到Xcode-beta 7.0时遇到了问题,但也可能是早期版本。

尝试将以下内容添加到info.plist中:

&#13;
&#13;
<key>NSAppTransportSecurity</key>
<dict>
  <key>NSExceptionDomains</key>
  <dict>
    <key>--- YOUR DOMAIN NAME HERE - EXAMPLE: example.com ---</key>
    <dict>
      <key>NSIncludeSubdomains</key>
      <true/>
      <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
      <true/>
    </dict>
  </dict>
</dict>
&#13;
&#13;
&#13;

这允许http连接到您想要的域。在与NSExceptionDomains对应的dict中添加所需的域作为关键dict对。

要将其作为XML插入,请右键单击info.plist并单击&#34;打开为&#34; - &GT; &#34;源代码&#34;。

然后在文档末尾的标记之前添加上面的XML。

希望这对你有用:)