2012-02-04 7 views
0

興味深い問題があります。 WebからXMLデータを解析しなければならないiPadアプリケーションがあります。5.0 SimulatorとDeviceでは正常に動作しますが、iOS 4.3 Simulatorでは(実際には4.3デバイスは利用できません)、解析されず、 [NSXMLParser parse]方法は、私はすでに最初の文字列をダウンロードしたNSDataに変換し、aswellとして直接のNSDataをDowloadingし、ダウンロードしたNSDataとパーサを初期化しようとしたNO retunsません。NSXMLParserはiOS 4.3では解析されませんが、5.0では実行されます

はここ

-(void)parseWithURLString:(NSString *)urlString{ 
    NSURL *url = [NSURL URLWithString:urlString]; 
    if (url != nil) { 
     self.parser = [[NSXMLParser alloc] initWithContentsOfURL:url]; 
     [[self parser] setDelegate:self]; 
     if([[self parser] parse]){ 
      NSLog(@"WOOHOO!"); 
      [TestFlight passCheckpoint:@"XML has been parsed"]; 
     } 
} 

urlStringが確認された私のコードだと正しいです。

答えて

2

あなたNSXMLParserparseErrorプロパティをログに記録します。そうすれば、あなたの問題が何であるかを知ることができます。

-(void)parseWithURLString:(NSString *)urlString{ 
    NSURL *url = [NSURL URLWithString:urlString]; 
    if (url != nil) { 
     self.parser = [[NSXMLParser alloc] initWithContentsOfURL:url]; 
     [[self parser] setDelegate:self]; 
     if([[self parser] parse]){ 
      NSLog(@"Parser completed."); 
     } 
     else { 
      NSLog(@"Parser failed. Error: %@",[self.parser parseError]); 
     } 
} 

また、次のプロトコルを実装し、解析中に発生するエラーログに記録することができます:私は明白なことを監督しているよう

- (void)parser:(NSXMLParser *)parser parseErrorOccurred:(NSError *)parseError 
+0

おかげで、そうです。これは実際のiOS 5 – Erle

+2

ほとんどの場合で働いている私はなぜだろうしかし問題は、しかし、エンコーディングエラー(不明なエンコーディング)私は今-.- を解決する必要がある、NSXMLParserのバグはiOS5をで修正されました。そのクラスにはかなりの更新がありました。 –

関連する問題