iOS用URL调用系统短信、电话、邮件

本文介绍了如何在iOS应用中通过URL调用系统短信、电话和邮件功能。电话调用使用了可能被视为私有API的`telprompt:`方法,需要注意审核风险。短信发送时,URL字符串需包含`sms:`和`body=`参数。邮件功能则涉及收件人、抄送、密送、主题及邮件正文的设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

没事写了个demo,发现系统的短息、电话、邮件有时候不按自己的想法进行。以下是研究的结果,供大家参考!

1.电话:平时看到其他公司做的APP,拨打某一个电话时,会先跳出一个弹出框,显示是否需要拨打某个电话,并且把即将拨打的电话显示出来。

这种情况Apple提供了telprompt:方法,但是据说是Apple的私用方法,网上说可能被拒,但是又有人上架成功了的,so,使用此方法的时候多斟酌下。

    NSString *urlStr = [NSString stringWithFormat:@"telprompt:%@", @"*********"];

    NSURL *url = [NSURL URLWithString:[urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];

    [[UIApplication sharedApplication] openURL:url];


网上的说法是:在打电话前先提示用户,通话结束后反馈开发者的应用程序 不合法,可能无法通过苹果商店的审核。
另外,要满足这种风格的拨打电话,还可以借助UIWebView打电话(会回来)一般都是用这种,解决了不越狱的问题。
2. 短信:在调用系统短信时,很多时候需要给收信人发送特定的内容,很多时候都不可以完成。使用以下代码可以调用iOS 的短信功能。

    NSString *urlStr = [NSString stringWithFormat:@"sms:%@&body=%@", @"*********", @"This is content"];

注意的地方是sms:%@&body= 中间需要用“&”

3.邮件:邮件需要的功能和短信的功能差不多,但是邮件会涉及到抄送、密送,使用以下代码可以完成。

    NSString *name = @"launch mail success";

    NSString *reason = @"you well";

    NSString *urlStr = [NSString stringWithFormat:

                        @"mailto:****@**.com?"//收件人

                        "bcc=djan@qq.com&"//密送

                        "cc=2345113@qq.com&"//抄送

                        "subject= Bug Report &"//主题

                        "body=Thanks for your coorperation!<br><br><br>"

                        "AppName:xxxxxx<br>"

                        "Details:<br>%@<br>-<br>%@<br>-<br>", name,reason];

    NSURL *url = [NSURL URLWithString:[urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];

    [[UIApplication sharedApplication] openURL:url];


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值