Я работаю над школьным проектом, который разрабатывает веб-приложение с API и приложением для iPhone с быстрым. Я разработал веб-сайт в Laravel с помощью Homestead/Vagrant.
Но когда дело доходит до приложения для iPhone, я сталкиваюсь с проблемой: когда пользователь нажимает кнопку входа в систему, приложение отправляет HTTP-запрос POST в API, и API проверяет, существуют ли пользователи в БД, и если да, то вернет токен, после чего пользователь будет перенаправлен на панель инструментов. Это отлично работает на симуляторе xcode.
Мой код части запроса выглядит так:
var loginUrl = "http://10.1.1.33/api/login" + "?email=" + self.email + "&password=" + self.password
let request = NSMutableURLRequest(URL: NSURL(string: loginUrl)!)
let session = NSURLSession.sharedSession()
request.HTTPMethod = "POST"
let task = session.dataTaskWithRequest(request, completionHandler: {
data, response, error -> Void in
guard error == nil else {
print("First Error!!! \(error)")
self.errorLabel.text = "Request timed Out"
self.enableLoginBtn(true, buttonText: "Login")
return
}
do {
let data: AnyObject? = try NSJSONSerialization.JSONObjectWithData(data!, options: [])
// Okay, the `json` is here, let's get the value for 'success' out of it
let json = JSON(data!)
dispatch_async(dispatch_get_main_queue(), {
if json["token"] != nil {
print("Login successvol!)")
if self.saveSession(json["token"].string!) {
self.enableLoginBtn(true, buttonText: "Login")
self.goToDashboard()
}else {
print("Saving token went wrong")
}
}else {
self.showError("Gebruikersnaam of wachtwoord is onjuist")
self.enableLoginBtn(true, buttonText: "Login")
}
})
}catch let parseError{
print(parseError)
let jsonStr = NSString(data: data!, encoding: NSUTF8StringEncoding)
print("Error could not parse JSON: \(jsonStr)")
self.enableLoginBtn(true, buttonText: "Login")
}
})
task.resume()
Но когда я пытаюсь протестировать то же самое на своем iPhone 5s (у меня есть лицензия разработчика), каждый раз происходит сбой. Ошибка, которую я получаю:
Домен ошибки = код NSURLErrorDomain = -1001 «Время ожидания запроса истекло». UserInfo=0x1742e1e80 {NSUnderlyingError=0x170259230 "Операция не может быть завершена. (kCFErrorDomainCFNetwork error -1001.)", NSErrorFailingURLStringKey=http://10.1.1.33/api/[email protected]&password=sndxbdj, NSErrorFailingURLKey=http://10.1.1.33/api/[email protected]&password=sndxbdj, NSLocalizedDescription =Время ожидания запроса истекло.}
Последние пару дней я перерыл весь интернет в поисках решения, но так и не нашел.
Буду очень признателен, если кто-то поможет мне с этим.
Заранее спасибо.
С наилучшими пожеланиями