2014-09-06 2 views
3

Я пытаюсь получить данные для отдыха Ios приложения, и я использую этот код:ИОСА локальный доступа Тренажера сервер

var rest_url = "http://192.168.0.1:8000/rest/users/" 

    let url: NSURL = NSURL(string: rest_url) 
    let session = NSURLSession.sharedSession() 
    let task = session.dataTaskWithURL(url, completionHandler: {data, response, error -> Void in 
    if(error != nil) { 
     println(error.localizedDescription) 
    } 
    println(data) 
    var err: NSError? 

    var jsonResult = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: &err) as NSDictionary! 

Но я думаю, что я не могу получить доступ к серверу, как это, кто знает, как может Я обращаюсь к своему серверу с симулятора ios?

+0

Локальный адрес - 127.0.0.1. Возможно, ваш веб-сервер прослушивает только этот IP-адрес. –

+0

'Операция не может быть завершена. (Ошибка NSURLErrorDomain -1004.) <> Ошибка JSON Операция не может быть выполнена. (Ошибка Cocoa 3840.) Неустранимая ошибка: неожиданно найден nil при разворачивании необязательного значения –

ответ

2

Убедитесь, что ваш IP-адрес вашего Mac равен 192.168.0.1. Так что ваш URL может быть

var rest_url = "http://YOUR MAC IP:8000/rest/users/" 
+0

Я запустил сервер python на 192.168.0.13 с портом 8000, я пробовал с этим url и с 127.0.0.1:8000, но ничего не работает:/'Не удалось выполнить операцию. (Ошибка NSURLErrorDomain -1004.) <> Ошибка JSON Операция не может быть выполнена. (Ошибка какао 3840.) Неустранимая ошибка: неожиданно найдено нуль при развертывании Необязательное значение ' –

0

Может быть, вы можете заменить 192.168.0.1 с локальным хостом, при отладке с прошивкой тренажера (то есть, реальные устройства должны использовать IP вашего сервера).

Я также не могу получить доступ к своему тестовому серверу, используя IP-адрес на симуляторе. Но когда я использую localhost или 120.0.0.1, симулятор может хорошо работать с моим тестовым сервером.

2

У вас есть параметры безопасности приложения в вашем файле Info.plist? Если нет, то для отладки цели вы можете установить их как

<key>NSAppTransportSecurity</key> 
    <dict> 
     <key>NSAllowsArbitraryLoads</key> 
     <true/> 
    </dict> 

Такие настройки позволяет выдавать запросы на любом сервере. Но не используйте их для выпуска версии.

Смежные вопросы