2010-03-28 5 views
18

내가 구글지도를 열려면 다음과 같은 코드가 있습니다UIApplication의 OpenURL은 서식이있는 NSString 작동하지

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

그러나이 작동하지 않고 오류가 없기를. 그냥 열리지 않습니다.

답변

44

URLWithString에는 퍼센트 이스케이프 문자열이 필요합니다. 샘플 URL에 공백이있어 NSURL이 작성되지 않습니다. 또한 addressString에는 이스케이프해야하는 문자가 포함될 수도 있습니다. 퍼센트 탈출 먼저 URL 문자열을 시도해보십시오 URLString는 탈출

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

필요를, 다른 [NSURL URLWithString는 : URLString는]은 빈 채로 돌아갑니다.

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