Bea*_*red 10 iphone nsurlconnection ipad ios
我有一个iOS应用程序,它JSON从我的Rails 3应用程序请求数据,托管在Heroku上,它在我的设备和许多其他用户(除了一个)之外运行良好.我有一个用户告诉我我的应用程序无法检索JSON数据,所以我让她发送了一些日志数据,日志显示正在调用NSURLConnection委托方法didFailWithError,错误描述显示为"错误的URL".为什么会出现此错误?为什么它只发生在某些设备而不是所有设备上?
这是我的代码,
-(void)getTournamentInfoWithUsername:(NSString*)username
{
NSString *urlString = [NSString stringWithFormat:@"http://myapp-tourney.heroku.com/tournaments/next.json?username=%@", username];
NSURL *url = [NSURL URLWithString:urlString];
NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:30];
[self setUrlConnection:[[NSURLConnection alloc] initWithRequest:request delegate:self]];
}
- (void)connection:(NSURLConnection*)connection didFailWithError:(NSError*)error
{
[MyLog logError:[NSString stringWithFormat:@"%@ - %@ - %@ - %@", [error localizedDescription], [error localizedFailureReason], [error localizedRecoveryOptions], [error localizedRecoverySuggestion]]];
}
Run Code Online (Sandbox Code Playgroud)
并且日志显示......
bad URL - (null) - (null) - (null)
Run Code Online (Sandbox Code Playgroud)
非常感谢您的所有智慧!
Jim*_*Jim 30
它看起来不像您正在编码用户名.用户名中是否有空格或其他特殊字符?考虑使用该NSString方法stringByAddingPercentEscapesUsingEncoding:.
这可能取决于包含不允许用于URL的字符的特定URL.
您可以尝试转义URL:
- (NSString *)stringByAddingPercentEscapesUsingEncoding:(NSStringEncoding)encoding`
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10693 次 |
| 最近记录: |