2012-08-27 63 views
0

這是撥打電話或信息的唯一方法來打開撥號程序。替代openUrl的短信和電話

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"tel:+%@",phoneNumber]]]; 

如果是。那麼這將支持從ios3到ios6(beta)。

如果不是。那麼任何一個人都可以提供一些示例代碼(如果有任何私人API可以做到這一點,請提及它)

如果單獨的函數可用於發送短信和呼叫號碼,請讓我知道這一點。

Thankx提前:)

在ipad 1與iOS 4.2.6

,下面的代碼不工作 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"sms:9190432097420"]]];[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"tel:9190432097420"]]]

Wr的做的問題在於

回答

2

UIApplication's Class Reference ,在iOS 2.0及更高版本中可以使用openUrl:方法。所以你應該安全地使用這種方法。

關於你的例子,如果你首先檢查是否有一個可以處理提供的url的應用程序,那麼它'更安全'。例如:

NSURL *url = [NSURL URLWithString:@"tel:9190432097420"]; 

if([[UIApplication sharedApplication] canOpenURL:url]) { 
    [[UIApplication sharedApplication] openURL:url]; 
} 
else { 
    NSLog(@"No application for url '%@'", url); 
} 

您是在實際設備上還是在模擬器上測試?就我所見,模擬器不支持這一點。

+0

在ipad 1與IOS 4.2.6部分,以下代碼不工作 '[[UIApplication的sharedApplication]的OpenURL:[NSURL URLWithString:[的NSString stringWithFormat:@ 「SMS:9190432097420」]]];'和 '[ [UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@「tel:9190432097420」]]]' WR問題在於 –

+0

您是在模擬器中還是在實際設備上測試? – fguchelaar

+1

@IrshadMohamed如果它運行的是4.2.6,那麼它當然不能發送短信,因爲'Messages'應用程序直到iOS 5才被引入,而且它是一個iPad,看起來不是iPhone。 –