2012-11-20 72 views
1

我想从SMS(网址方案)打开应用程序。例如,如果有人给我发短信“myapp:// abcd”,我可以用safari打开这个网址,并通过[url host]打开带有abcd值的应用程序。但是,问题是如果它不是英语?例如,“myapp://สวัสดี”(泰语)或“myapp://おはよう”(日语),我用xn - l3c1bib8a0a而不是“สวัสดี”打开应用程序。检索非英文字符的网址

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation { 

    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Test" 
                message:[url host] 
                delegate:self 
              cancelButtonTitle:@"OK" 
              otherButtonTitles:nil]; 
    [alert show]; 
    [alert release]; 
    return YES; 
} 

在此先感谢。

回答

0

的短信字符集是7位和一个有点特殊,所以它看起来像你的服务供应商把国际网址到他们的Punycode(http://en.wikipedia.org/wiki/Punycode),相当于...

+0

谢谢你非常非常快的答案但我仍然很盲目,接下来应该做什么? – majorl3oat

+1

非常感谢Thankyou,因为你的回答我使用关键字punycode,并发现由Jorge Bernal创建的NSURL + IDN解决了我的问题。 – majorl3oat