У меня возникли проблемы с новым преобразованием swift 2.0.
Я преобразовал свое приложение, все вроде бы работало отлично, однако соединение с веб-сервером полностью перестало работать вместе.
исходный код:
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, а не с моими веб-серверами, но кто знает. может сейчас для доступа требуется ssl? хотя некоторые из сайтов, которые загружались, не были ssl, так что я не знаю, есть идеи?