Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/99.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios “希罗库”;“请求中断”;使用Alamofire时出错_Ios_Ruby On Rails_Swift_Heroku_Alamofire - Fatal编程技术网

Ios “希罗库”;“请求中断”;使用Alamofire时出错

Ios “希罗库”;“请求中断”;使用Alamofire时出错,ios,ruby-on-rails,swift,heroku,alamofire,Ios,Ruby On Rails,Swift,Heroku,Alamofire,我使用Alamofire发出HTTP请求,从Heroku上运行的Rails应用程序返回JSON 在进行HTTP GET调用时,我得到以下NSError客户端: Error Domain=NSURLErrorDomain Code=-1005 "The operation couldn’t be completed (NSURLErrorDomain error -1005.) " UserInfo=0x1700e6a00 { NSErrorFailingURLStringKey=ht

我使用Alamofire发出HTTP请求,从Heroku上运行的Rails应用程序返回JSON

在进行HTTP GET调用时,我得到以下NSError客户端:

Error Domain=NSURLErrorDomain Code=-1005 "The operation couldn’t be completed
(NSURLErrorDomain error -1005.)
" UserInfo=0x1700e6a00 
  {
   NSErrorFailingURLStringKey=https://********.herokuapp.com/api/workouts.json,
   NSErrorFailingURLKey=https://********.herokuapp.com/api/workouts.json,
   _kCFStreamErrorDomainKey=4, 
   _kCFStreamErrorCodeKey=-4, 
   NSUnderlyingError=0x17025c920 "The operation couldn’t be completed. (kCFErrorDomainCFNetwork error -1005.)"
  }
错误-1005是一个
kcfurerrorNetworkConnectionLost

在Heroku日志中,我得到:

heroku[router]: sock=client at=error code=H18
desc="Request Interrupted"
method=GET path="/api/workouts.json" 
host=********.herokuapp.com 
request_id=826f4f74-a497-4462-a70b-cc5d352ef7b4
fwd="162.246.8.76" 
dyno=web.1 connect=1ms service=0ms status=503 bytes=0
2015-01-15T03:30:15.428551+00:00 app[web.1]: 
Started GET "/api/workouts.json" 
for 162.246.xxx.xxx at 2015-01-15 03:30:15 +0000
需要注意的重要部分是
sock=client
,这意味着请求在客户端请求时被中断

其他端点,如
登录
注册
返回
200 OK
,并返回预期有效负载。因此Rails应用程序正在其他端点上运行

另外,请注意,curl在命令行上的工作方式与预期相同:

curl -X GET 'https://********.herokuapp.com/api/workouts.json?email=****&token=****'

也许它会帮助某些人:在我的例子中,我错误地发送了一个空字典作为参数:

var dictParams      = [String: String]()

Manager.sharedInstance
        .request(.GET, "\(K_API_MAIN_URL)\(k_API_XXXXXX)?access_token=\(strToken)", parameters: dictParams, encoding: .JSON)
解决方案是发送nil而不是上述dictParams

Manager.sharedInstance
        .request(.GET, "\(K_API_MAIN_URL)\(k_API_XXXXXX)?access_token=\(strToken)", parameters: nil, encoding: .JSON)

成功了吗?看来我也有同样的问题。