NSURL已停止在应用程序中工作

时间:2013-07-09 13:48:03

标签: ios ios6.1

我编写了一个应用程序,可以下载并从HTML文件中删除数据。该应用程序已经运行了好几个月,但最近几天已停止。

这是代码......

NSString* urlString = [@"http://easytide.ukho.gov.uk/EASYTIDE/EasyTide/ShowPrediction.aspx?PortID=" stringByAppendingString:portCode];
urlString = [urlString stringByAppendingString:@"&PredictionLength=7"];
NSURL* easyTidesUrl = [NSURL URLWithString:urlString];
NSData* easyTidesHtmlData = [NSData dataWithContentsOfURL:easyTidesUrl];

当我检查NSURL对象时,url没有正确设置(字符串出错),NSURL对象显示为。我知道过去曾经问过类似的问题(我已经尝试过这些解决方案并且在这种情况下它们不起作用),但是应用程序工作正常并且现在已经破坏而没有做任何事情就显得很奇怪了!


这是一些更多的代码......基本上停止工作的部分是函数的第一部分......

+(void)getTides:(NSMutableArray *)tidalDateArray withPortCode:(NSString*)portCode
{
    NSString *parameter = [portCode stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    NSString *urlString = [NSString stringWithFormat:@"http://easytide.ukho.gov.uk/EASYTIDE/EasyTide/ShowPrediction.aspx?PortID=%@&PredictionLength=7", parameter];
    NSURL *easyTidesUrl = [NSURL URLWithString:urlString];
    NSData *easyTidesHtmlData = [NSData dataWithContentsOfURL:easyTidesUrl];

    TFHpple* tidesParser = [TFHpple hppleWithHTMLData:easyTidesHtmlData];

    NSString* easyTidesXPathQueryString = @"//div[@class='HWLWPanel']/table/tr/th[@class='HWLWTableHeaderCell']";
    NSArray* tideDateNodes = [tidesParser searchWithXPathQuery:easyTidesXPathQueryString];

    NSDateComponents *components = [[NSCalendar currentCalendar] components:NSDayCalendarUnit | NSMonthCalendarUnit | NSYearCalendarUnit fromDate:[NSDate date]];

    NSCalendar *gregorian = [[NSCalendar alloc]
                          initWithCalendarIdentifier:NSGregorianCalendar];

3 个答案:

答案 0 :(得分:1)

Easytide似乎已经关闭,所以可能不是API问题!

答案 1 :(得分:0)

portCode变量中可能存在一些非法章程,如空格:

NSString *parameter = [portCode stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSString *urlString = [NSString stringWithFormat:@"http://easytide.ukho.gov.uk/EASYTIDE/EasyTide/ShowPrediction.aspx?PortID=%@&PredictionLength=7", parameter];
NSURL *easyTidesUrl = [NSURL URLWithString:urlString];
NSData *easyTidesHtmlData = [NSData dataWithContentsOfURL:easyTidesUrl];

答案 2 :(得分:0)

问题看起来毕竟是一个非常简单的问题...网址本身是错的 - 他们是否更改了它或者是否在我不知道的代码中更改了...感谢您的所有帮助虽然和代码改进......