4

我在新的 swift 2.0 转换中遇到了一些问题。

我转换了我的应用程序,一切似乎都运行良好,但是,与 Web 服务器的连接完全停止了一起工作。

原始代码:

let tempstring: String? = "\(urlBase)"
let url = NSURL(string: tempstring!.stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding)!)
var key: NSString?
key = NSString(contentsOfURL: url!, encoding: NSUTF8StringEncoding, error: nil)

临时字符串最终会成为http://www.zephyrpanthur.com/ --其他变量和子目录

转换做了:

let tempstring: String? = "\(urlBase)"
let url = NSURL(string: tempstring!.stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding)!)
var error: NSError?
var key: NSString?
do {
  key = try NSString(contentsOfURL: url!, encoding: NSUTF8StringEncoding)
  print(key)
}
catch var error1 as NSError {
  error = error1
  print(error)
  key = nil
}

基本上只是添加了一个 try/catch,这太棒了。但是,key总是等于nil

我尝试了很多东西,最终发现如果我加载http://www.google.com它可以工作并加载该网站。我尝试使用 Yahoo、Facebook 和其他一些不是主要名称的页面,它们都有效。

当我回到 zephyrpanthur.com 时,它停止了工作。我什至尝试了我拥有的其他一些服务器,例如 8bitfox.com,但也没有用。我尝试使用和不www.使用以及使用和不使用 ssl (https/http)

我自己的服务器上的任何东西似乎都被阻止了。这是非常离奇和奇怪的。我的 iPhone、iPad 和模拟器可以很好地加载这些页面,但它们不会加载到我的应用程序中......

该代码在操场上工作,只是不在我的应用程序中。我没有对网络做任何其他事情,在运行此代码之前,唯一发生的事情是对本地用户设置进行一些检查,以了解它是否应该自动登录,或者请求用户并输入密码。

错误消息类似于“无法打开 zepyrpanthur.com”或我在失败时使用的任何网站。

我希望这是 swift 2.0 的问题,而不是我的 Web 服务器的问题,但谁知道呢。也许现在需要 ssl 才能访问?虽然有些加载的网站不是 ssl,所以我不知道,有什么想法吗?

4

0 回答 0