[iOS] UIApplication openUrl 無效的時候

在使用


NSString *urlString = [NSString stringWithFormat:@"http://maps.google.com/maps?q=%@, Anchorage, AK",addressString];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlString]];
會發現一點反應也沒有

使用url若裡面有包含空格之類的, 會造成結果得到nil的NSURL
所以必須要避開這些可能會造成錯誤的格式
只要加一個stringByAddingPercentEscapesUsingEncoding即可


NSString *urlString = [NSString stringWithFormat:@"http://maps.google.com/maps?q=%@, Anchorage, AK",addressString];
NSString *escaped = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:escaped]];  





留言