2012-11-20 110 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