iOS 短信开发Tips(验证码,邀请好友)

今天项目正好用到短信邀请好友的功能,这边我就简单介绍一下,iOS一些常用的短信功能。

短信验证码

首先看你是个人开发,还是团队开发。我以前自己写东西玩的时候,短信验证功能是用的Bmob。Bmob是一个集成的云后台,如果你不懂后台开发,可以试试这个,上面的文档很齐全。

传送门:http://www.bmob.cn/

如果你公司的项目的话,这个时候肯定是有后台支持的。这个可以集成友盟,mob等等一堆平台的支持。

发送短信邀请(自定义短信)

当遇到自定义短信的时候,有两个选择。
1.后台推送
2.客户端发送
后台推送各大平台都是要钱滴,几分到几毛不等。这时候就看老板舍不舍的money(≧▽≦)/啦啦啦。后台做的事,我这边就不提了。

这边就介绍怎么客户端发送

1.最简单的方法就是直接跳到系统的短信系统发送。

[[UIApplication sharedApplication]openURL:[NSURL URLWithString:[NSString stringWithFormat:@"sms://%@",self.people.phone]]];

这句话对于跳转跳转的系统的东西都是管用的。
openurl 可以做的事情有很多 可以打开系统其他应用

1.Map    http://maps.google.com/maps?q=Shanghai  
2.Email  mailto://myname@google.com  
3.Tel    tel://10086  
4.Msg    sms://10086  

我们应用中最常用的应该就是跳转到这是界面了。因为用户很多情况下会禁止应用访问隐私的一些东西(通讯录,短信等等)。我们要需要提醒用户打开,为了提高交互性。应该直接跳转到设置界面。

//ios8
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];

如果想要跳转到具体的设置界面的话
这下面有两个传送们,可以去看看。

http://www.jianshu.com/p/19602f48309b
http://blog.csdn.net/likendsl/article/details/7553605

但跳转到系统应用返回就困难了,所以这种发短信的方式。不可取
2 利用系统的messageUI框架

#import <MessageUI/MessageUI.h>

跳转到程序内的短信界面

    if ([MFMessageComposeViewController canSendText]) {
        MFMessageComposeViewController *messageVC = [[MFMessageComposeViewController alloc] init];
        messageVC.recipients = 这边填写要发送的短信好伐的数组;
        messageVC.body = 短信的内容;
        messageVC.messageComposeDelegate = self; //指定代理
        [self presentViewController:messageVC animated:YES completion:nil];
    } else {
        [PublicModel showHUDWithInfo:self andInfo:@"设备不支持短信功能"];
    }

发送完短信,回到刚才的界面。都是模态视图的跳转

#pragma mark MFmessageComposeViewControllerDelegate
- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result {
    if (result == MessageComposeResultCancelled) {
        [controller dismissViewControllerAnimated:YES completion:nil];
    } else if (result == MessageComposeResultFailed) {
        [controller dismissViewControllerAnimated:YES completion:^{
           // [PublicModel showHUDWithInfo:self andInfo:@"发送失败"];
        }];
    } else {
        [controller dismissViewControllerAnimated:YES completion:^{
           // [PublicModel showHUDWithInfo:self andInfo:@"发送成功"];
        }];
    }
   
    
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 177,219评论 25 709
  • 1,Search Bar 怎样去掉背景的颜色(storyboard里只能设置background颜色,可是发现cl...
    以德扶人阅读 7,690评论 2 50
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,280评论 19 139
  • 1 惠惠是个准新娘,再过两个月就要举办婚礼了,可是她脸上一点也看不出新婚的期盼和幸福感,相反非常焦虑。 她已经和未...
    杨一云阅读 3,630评论 4 3
  • 起这个题目是借鉴了美剧周一清晨。真的是很好看的一部剧。虽然只出了一季就被砍了。随着我对韩剧的阈值越来越低,我对美剧...
    Pi_Q阅读 1,612评论 0 0

友情链接更多精彩内容