我正在创建一个在Heroku上使用Rails API后端的iOS应用程序。定期(每20个API调用一个),无法找到heroku。返回以下NSError:
Error Domain=NSURLErrorDomain Code=-1003 "A server with the specified hostname could not be found." UserInfo=0x755ce00 {NSErrorFailingURLStringKey=https://xxx.herokuapp.com/api/v1/matchups, NSErrorFailingURLKey=https://xxx.herokuapp.com/api/v1/matchups, NSLocalizedDescription=A server with the specified hostname could not be found., NSUnderlyingError=0x71ca730 "A server with the specified hostname could not be found."
答案 0 :(得分:0)
看起来你受到了Dyno睡眠行为的打击。请检查this documentation,特别是 Dyno Sleeping 部分,并确保您理解它。 还有几种方法可以保持应用程序的开启,例如定期ping网站。
另一种选择是DNS,在您的计算机上创建Ad-Hoc网络并将您的iphone连接到该网络。使用wireshark进行网络捕获并分析DNS和HTTP响应。
答案 1 :(得分:0)
似乎是您的iPhone / iPad所连接的网络上的DNS问题。当然,请尝试以下任何一种方法:
1)将主机名更改为IP地址而不是字符串主机名,并在HTTP请求中添加Host:标头。
2)如果(1)很难,请将您的iPhone的DNS设置为局域网中的PC,并在该PC上安装DNS服务器,并至少直接从PC提供该特定地址(请勿递归域)。
答案 2 :(得分:0)
您的网址= https://xxx.herokuapp.com/api/v1/matchups
您是否明确指定您的域名xxx与您的域名提供商直接连接到您的服务器IP?
如果没有,请尝试使用您的子域xxx指向服务器IP添加新的A记录。
希望有所帮助。