Когда я запускаю свое приложение в симуляторе, все работает отлично. Но когда я запускаю одно и то же приложение в исключении Ipad, вы бросаете.ОК в симуляторе, но исключение исключения в устройстве ios
Завершение работы приложения из-за неперехваченного исключения «NSInvalidArgumentException», причина: «параметр данных - nil. В моем приложении на одном шаге я должен запросить web-URl и вам нужно проанализировать возвращенный ответ JSON
. Но я проверил web-url и смог отлично разбираться в симуляторе. Но вся проблема возникла в реальном устройстве ios. Но я думаю, что я определил код, где он ошибается.
+ (NSDictionary*) getParsedJSON:(NSString*) urlString {
NSLog(@"################################################################################");
NSLog(@"getParsedJSON => urlString:");
NSLog(@"%@", urlString);
NSURL* url = [NSURL URLWithString:urlString];
NSURLRequest* request = [NSURLRequest requestWithURL:url];
NSURLResponse *response1 = nil;
NSError *error = nil;
NSData* response = [NSURLConnection sendSynchronousRequest:request returningResponse:&response1 error:&error];
//NSData* response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSLog(@"--------------------------------------------------------------------------------");
NSString* responseString = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding];
NSLog(@"getParsedJSON => responseString:\n%@", responseString);
NSLog(@"--------------------------------------------------------------------------------");
NSError* jsonParsingError = nil;
NSDictionary* parsedJSON = [NSJSONSerialization JSONObjectWithData:response options:0 error:&jsonParsingError]; // here is place where exception seems to be thrown.
if (jsonParsingError) {
NSLog(@"ERROR in parsing JSON: %@", jsonParsingError);
} else {
NSLog(@"getParsedJSON => parsedJSON: \n%@", [parsedJSON description]);
}
NSLog(@"################################################################################");
return parsedJSON;
}
Я определил линию, где он, кажется, неправильно .Я также прилагается снимок экрана отчета об исключении. . Хостинг для вашего опытного ответа.
Вы можете проверить, нет ли ошибки после отправки запроса. Если это не так, напечатайте ошибку userInfo, чтобы узнать, что происходит. – serrrgi
Вы также должны проверить, что 'sendSynchronousRequest' не равен нулю. – Wain
@serrrgi Я уже проверил, если ошибка равна нулю. Но, как я сказал, вся проблема, кажется, в децибе – sujat