2010-03-28 14 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 एक प्रतिशत से बचने वाली स्ट्रिंग की आवश्यकता है। आपके नमूना यूआरएल में रिक्त स्थान होते हैं जिसके परिणामस्वरूप शून्य एनएसआरएल बनाया जा रहा है। इसके अतिरिक्त, एड्रेसस्ट्रिंग में ऐसे वर्ण भी हो सकते हैं जिन्हें बचने की आवश्यकता है। प्रयास करें प्रतिशत-भागने पहले यूआरएल स्ट्रिंग:

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

urlString से बचने के लिए की आवश्यकता है, और [NSURL URLWithString: urlString] nill वापस आ जाएगी।

NSString *urlString = [NSString stringWithFormat:@"http://maps.google.com/maps?q=%@, Anchorage, AK",addressString]; 
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding] ]]; 
संबंधित मुद्दे