【发布时间】:2015-08-27 18:32:29
【问题描述】:
我正在尝试将我的 iOS 应用程序连接到当前在我网络中的本地主机上运行的 HTTPS Rails 应用程序。我可以使用 https://myIP:3000/display 从浏览器访问该站点,也可以使用 curl 请求在命令行中访问该站点。我正在尝试使用以下方式从我的应用程序中访问它:
class FirstViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
//let url = NSURL(string: "https://another/Sinatra/website/feed")
let url = NSURL(string: "https://myIP:3000/display")
let request = NSURLRequest(URL: url!)
let task = NSURLSession.sharedSession().dataTaskWithURL(url!)
task!.resume()
}
当我尝试访问 sinatra 网站时,我没有遇到任何问题,甚至可以使用正确的命令将 JSON 打印到控制台。但是,当我将 url 设置为我的 Rails 网站时,我收到以下错误。
NSURLSession/NSURLConnection HTTP 加载失败 (kCFStreamErrorDomainSSL, -9813)
此外,我可以看出我的 localhost Rails 应用程序(在另一台机器上)没有从 iOS 应用程序 ping,而是从浏览器和 curl 命令 ping。
任何想法如何解决这个问题?
【问题讨论】:
-
将您的代码放入
viewWillDisplay或viewDidDisplay。viewDidLoad对大多数事情来说都太早了。 -
iOS 和 Swift 哪个版本?将该信息添加到问题中。
-
也发生在 Objective C 中(不仅在 swift 上)