IOS-电话和短信功能

打电话可以用openURL:这个API, 如:[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://10086"]];

但是当电话结束后,返回的是系统的拨打电话界面,如何才能返回自己的应用呢?这儿有两种 方法与大家分享。

第一种是用UIWebView加载电话,这种是合法的,可以上App Store的。
代码如下:
// assuming you have an ivar to store a weak reference to a UIWebView:  
// UIWebView *phoneCallWebView;  
- (void) dialPhoneNumber:(NSString *)aPhoneNumber  
{  
    NSURL *phoneURL = [NSURL URLWithString:[NSString stringWithFormat:@"tel:%@",aPhoneNumber]];  
    if ( !phoneCallWebView ) {          
        phoneCallWebView = [[UIWebView alloc] initWithFrame:CGRectZero];  
    }  
    [phoneCallWebView loadRequest:[NSURLRequest requestWithURL:phoneURL]];  
}  
- (void) dealloc  
{  
    // cleanup  
    [phoneCallWebView release], phoneCallWebView = nil;  
   [super dealloc];  
}  


第二种是私有方法,不能上App Store的。
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"telprompt://10086"]]; 

iOS4.0新加入了MFMessageComposeViewController和MFMessageComposeViewControllerDelegate,提供了发送短信的接口,可以像发送邮件那样不用跳出程序来发送短信. 介绍可参阅Message UI。相关网址:http://blog.csdn.net/rhljiayou/article/details/7929813

原文地址:https://www.cnblogs.com/jhonyzhang/p/3653790.html