Reputation: 12597
NSString *urlString = [NSString stringWithFormat:@"http://maps.google.com/maps/geo?q=%lf,%lf&output=csv&sensor=false&key=swizzlec hops", coordinate.latitude,coordinate.longitude];
NSLog(@"urlString: %@", urlString);
NSURL *urlFromURLString = [NSURL URLWithString:urlString];
My log is : http://maps.google.com/maps/geo?q=53.872874,27.527790&output=csv&sensor=false&key=swizzlec hops
I can copy this url and paste to the browser and its ok, but urlFromURLString = nil. But, why?
Upvotes: 0
Views: 396
Reputation: 14113
This is a better approach:
NSString* escapedUrl = [originalUrl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *urlFromURLString = [NSURL URLWithString:escapedUrl];
Upvotes: 0
Reputation: 5973
Try
NSString *urlString = [[NSString stringWithFormat:@"http://maps.google.com/maps/geo?q=%lf,%lf&output=csv&sensor=false&key=swizzlec hops", coordinate.latitude,coordinate.longitude] stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding];
I don't think you can have spaces in your URL
Upvotes: 3
Reputation:
I believe you need to use
stringByAddingPercentEscapesUsingEncoding:
on urlString before passing it to NSURL.
NSString *urlString = [[NSString stringWithFormat:@"http://maps.google.com/maps/geo?q=%lf,%lf&output=csv&sensor=false&key=swizzlec hops", coordinate.latitude,coordinate.longitude] stringByAddingPercentEscapesUsingEncoding::NSUTF8StringEncoding];
Upvotes: 3