2015-09-24 2 views
4

В моем watchOS 2 Apple Watch WatchKit Extension я использую NSURL и NSData для запроса URL-адреса и получения отправленного JSON. Однако это работает только в симуляторе. Сначала у меня была проблема, потому что я использовал ненадежный адрес (внутренний IP-адрес), но после добавления некоторых ключей и значений в Info.plist эта проблема была исправлена. Чтобы быть уверенным, что URL-адрес был доверен, я использовал открытый URL-адрес из GitHub API (https://api.github.com/users/mralexgray/repos). Я использую следующий код, чтобы получить ответ:watchOS 2 на устройстве не читается NSData

var responseData: NSData? = nil 
if let url = NSURL(string: "https://api.github.com/users/mralexgray/repos") { 
    if let data = NSData(contentsOfURL: url){ 
     responseData = data 
    } 
} 

На моем watchOS 2 тренажера, responseData заполнен правильно, но на моем Apple Наблюдать за устройство, он выглядит как номер строка 3 и его тело просто получать пропускается. Это проблема, функция или я что-то не так?

ответ

2

Это звучит как ошибка в методе NSData, contentsOfURL: опция: ошибка: говорит, что файл не открывается.

NSURLSession работает нормально.

NSURL * url = [NSURL URLWithString:@"https://api.github.com/users/mralexgray/repos"]; 

NSURLSessionDataTask *downloadTask = [[NSURLSession sharedSession] 
             dataTaskWithURL:url completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { 
              NSLog(@"data size %ld", (unsigned long)data.length); 
             }]; 

[downloadTask resume]; 
+0

Спасибо, это подтверждает то, что я нашел ранее. – Roel

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