ASIHTTPClasses 和 iOS6

ASIHTTPClasses and iOS6

提问人:ronluna 提问时间:9/21/2012 最后编辑:Brad Werthronluna 更新时间:3/19/2013 访问量:433

问:

我的应用程序在以前的 iOS 版本上一直正常工作。我刚刚升级到 iOS6,现在应用程序在处理 XML 请求/响应时返回错误。

应用向服务器发送 XML 请求并接收 XML 响应,但现在响应为空“<>”,导致 NSXMLParser 失败。

以下是应用程序发送请求的方式(这曾经工作过,在 ios6 之前):

    [request setURL:[NSURL URLWithString:url]];
[request setHTTPMethod:@"POST"];    
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"text/xml" forHTTPHeaderField:@"Content-Type"];
//[request setValue:@"application/x-www-form-urlencoded charset=utf-8" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:postData];




NSURLConnection *conn=[[NSURLConnection alloc] initWithRequest:request delegate:self];
if (conn)
{

    receivedData = [[NSMutableData data] retain];

}

但现在的响应是空的“<>”。

 parser error is Error Domain=NSXMLParserErrorDomain Code=9 "The operation couldn’t be completed. (NSXMLParserErrorDomain error 9.)", path to file is :

/Users/ronluna/Library/Application Support/iPhone Simulator/6.0/Applications/5BA74D89-1967-4B9E-A1C0-B076F7BB9064/Documents/Menus.xml

任何想法可能是什么问题?

iOS6 NSXML解析器错误域

评论


答:

0赞 drexsien 10/1/2012 #1

嗨,我也遇到了同样的问题。尝试将 xml 文件的格式更改为不带 BOM 的 UTF-8,或者如果要在服务器端脚本上填充 xml,请尝试将字符集更改为 UTF-8。希望这会有所帮助。

0赞 hungdm9999 3/19/2013 #2

请确保使用 xml 格式指定的编码创建 NSData 对象。 即,如果 XML 具有 UTF-8 编码,则您应该具有: NSData* d = [xmlResponseStrings dataUsingEncoding:NSUTF8StringEncoding]; 在您的代码中, 其他 NSUnicodexxxxx 编码将不起作用。 希望这会有所帮助。