`

iphone开发中发送短信

 
阅读更多
iOS4.0新加入了MFMessageComposeViewController和MFMessageComposeViewControllerDelegate,提供了发送短信的接口,可以像发送邮件那样不用跳出程序来发送短信. 介绍可参阅Message UI
Framework Reference

一些笔记:


MFMessageComposeViewController
•提供了操作界面
•使用前必须检查canSendText方法,若返回NO则不应将这个controller展现出来,而应该提示用户不支持发送短信功能.
•界面不能自行定制
•要发送的短信的内容(body)和收件人(recipients)在展现这个controller前需初始化好,展现了之后短信内容不能通过程序来进行修改.不过用户仍然可以手工修改短信内容和选择收件人
•用户点了发送或者取消,或者发送失败时,MFMessageComposeViewControllerDelegate 的– messageComposeViewController:didFinishWithResult:方法都能得到通知,在这里进行相应的处理
若在iOS3.0上运行的话,会提示dyld: Symbol not found: _OBJC_CLASS_$_MFMessageComposeViewController .解决方案:

1.MessageUI.framework的引入类型应选择weak(在target -> Get Info -> General -> Linked Libraries -> MessageUI.framework -> Type 里修改)
2.不要在.h文件里直接import MessageUI/MFMessageComposeViewController.h,改为import <MessageUI/MessageUI.h>
引用
#pragma mark -#pragma mark SMS -(IBAction)showSMSPicker:(id)sender { // The MFMessageComposeViewController class is only available in iPhone OS 4.0 or later. // So, we must verify the existence of the above class and log an error message for devices // running earlier versions of the iPhone OS. Set feedbackMsg if device doesn't support // MFMessageComposeViewController API. Class messageClass = (NSClassFromString(@"MFMessageComposeViewController")); if (messageClass != nil) { // Check whether the current device is configured for sending SMS messages if ([messageClass canSendText]) { [self displaySMSComposerSheet]; } else { [UIAlertView quickAlertWithTitle:@"设备没有短信功能" messageTitle:nil dismissTitle:@"关闭"]; } } else { [UIAlertView quickAlertWithTitle:@"iOS版本过低,iOS4.0以上才支持程序内发送短信" messageTitle:nil dismissTitle:@"关闭"]; } } -(void)displaySMSComposerSheet{ MFMessageComposeViewController *picker = [[MFMessageComposeViewController alloc] init]; picker.messageComposeDelegate = self; NSMutableString* absUrl = [[NSMutableString alloc] initWithString:web.request.URL.absoluteString]; [absUrl replaceOccurrencesOfString:@"http://i.aizheke.com" withString:@"http://m.aizheke.com" options:NSCaseInsensitiveSearch range:NSMakeRange(0, [absUrl length])]; picker.body=[NSString stringWithFormat:@"我在爱折客上看到:%@ 可能对你有用,推荐给你!link:%@" ,[web stringByEvaluatingJavaScriptFromString:@"document.title"] ,absUrl]; [absUrl release]; [self presentModalViewController:picker animated:YES]; [picker release]; } - (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result { switch (result) { case MessageComposeResultCancelled: LOG_EXPR(@"Result: SMS sending canceled"); break; case MessageComposeResultSent: LOG_EXPR(@"Result: SMS sent"); break; case MessageComposeResultFailed: [UIAlertView quickAlertWithTitle:@"短信发送失败" messageTitle:nil dismissTitle:@"关闭"]; break; default: LOG_EXPR(@"Result: SMS not sent"); break; } [self dismissModalViewControllerAnimated:YES]; }
分享到:
评论

相关推荐

    模仿iphone弹出式短信查看

    标题“模仿iPhone弹出式短信查看”涉及到的是在非iOS平台上(可能是Android或者Web应用)实现类似iPhone风格的弹出式短信查看功能。这个功能通常包括一个简洁且具有动画效果的界面,用户可以快速预览短信内容,而...

    iphone 短信发送成功音效

    总的来说,"iPhone短信发送成功音效"是一个看似微小但至关重要的设计,它体现了人机交互中的反馈机制和用户体验。而"SentMessage.wav"作为原始音频文件,揭示了音效制作和优化的过程。在IT领域,理解这些细节有助于...

    iphone短信发送(非系统界面)

    在iOS开发中,有时开发者可能需要在应用程序内部实现短信发送功能,而不是引导用户跳转到系统默认的短信应用。这种情况下,我们可以通过编程接口(API)来实现所谓的“非系统界面”的短信发送。标题和描述提到的...

    Android仿iphone-气泡短信-DEMO.zip

    "Android仿iphone-气泡短信-DEMO.zip" 这个标题表明这是一个针对Android平台的开发项目,其目标是模仿iPhone的气泡短信效果。气泡短信是iOS系统中一种常见的对话界面设计,以气泡的形式展示聊天内容,使用户在视觉上...

    安卓开发-仿iphone 气泡短信 DEMO.zip

    在安卓开发中,创建一个类似iPhone的气泡短信界面是一个常见的需求,这涉及到UI设计、布局管理和自定义视图等方面的知识。"安卓开发-仿iphone 气泡短信 DEMO.zip"是一个示例项目,旨在展示如何在Android平台上实现...

    Android 仿iphone 气泡短信 DEMO-IT计算机-毕业设计.zip

    这个Android应用源码项目"Android 仿iphone 气泡短信 DEMO"是一个毕业设计作品,旨在帮助学生理解和掌握Android应用程序开发技术,特别是涉及到模仿iPhone风格的气泡短信界面的设计和实现。通过此项目,我们可以深入...

    flex开发 仿iphone 短信气泡信息框

    气泡信息框是iPhone短信应用中的一大特色,它通过不同的颜色和形状区分发送者和接收者的消息,使得对话界面更加清晰易读。气泡的形状通常为椭圆形,其中包含文本内容,并根据消息的方向(发送或接收)而改变其方向和...

    仿iphone气泡短信 DEMO

    在这个项目中,开发者不仅定制了ListView的每个单元格(即ListView项),还特别设计了气泡形状,以模仿iPhone短信应用中的气泡样式,包括不同颜色和方向的气泡,以区分发送者和接收者的文字。 【标签】中的"iphone...

    UI之高仿iphone短信发送气泡效果

    在Android UI设计中,模拟iPhone的短信发送气泡效果是一项常见的需求,这可以让应用看起来更加接近原生iOS的用户体验。本教程将详细讲解如何实现这一效果,并提供已测试的代码资源,确保在Android 2.3及更高版本上...

    类似iphone短信中滑动收缩键盘

    总的来说,实现类似iPhone短信中滑动收缩键盘的功能,需要深入了解iOS的事件处理、手势识别、动画控制以及键盘通知机制。通过以上步骤,开发者可以为自己的应用添加类似的交互,提高用户体验。在实际开发中,不断...

    安卓短信彩信相关相关-仿iphone气泡短信DEMO.rar

    10. **多线程处理**:为了不影响UI的流畅性,处理耗时操作(如发送短信、加载更多历史记录)应在子线程中进行,可以使用AsyncTask或者Retrofit等网络库配合OkHttp进行异步操作。 总的来说,这个DEMO提供了实现类似...

    仿iphone 气泡短信 DEMO

    【标题】"仿iPhone气泡短信DEMO"是一款模拟iPhone风格短信对话的应用程序演示,它在Android平台上展示了如何实现类似iOS设备中短信应用的气泡效果。这种效果以直观、富有交互性的界面设计,使用户在非iOS设备上也能...

    iPhone应用程序开发指南

    ### iPhone应用程序开发指南 #### 一、iPhone系统介绍 iPhone是由苹果公司设计并销售的一系列智能手机,自2007年首次推出以来,已经成为全球最受欢迎的智能手机之一。苹果公司的创始人史蒂夫·乔布斯曾表示:...

    iphone 短信气泡效果UI

    在iOS开发中,创建具有互动性和吸引力的用户界面是至关重要的,尤其是对于聊天应用程序来说,短信气泡效果是不可或缺的一部分。"iphone 短信气泡效果UI" 是一个专门为开发者设计的开源控件,旨在简化这个过程,让...

    iphone气泡短信

    在Android应用开发中,"iPhone气泡短信"是一种常见的界面设计风格,用于模拟iOS设备上的短信对话界面。这种设计使得用户在Android设备上也能获得与iOS相似的用户体验,增加了应用的交互性和美观度。以下是对这个主题...

    中文垃圾短信和正常短信

    5. **内容审查**:检查短信中的URL链接是否指向可疑网站,以及是否包含非法或误导性内容。 综上所述,通过对短信内容的分析,我们可以有效地识别哪些是正常的、有用的短信,哪些是垃圾短信,并采取相应的过滤措施。...

    WP7仿iphone气泡式短信界面 v0.1源码

    该源码项目是针对Windows Phone 7 (WP7) 平台开发的一个仿iPhone气泡式短信界面。这种界面设计通常用于短信应用中,模仿了iOS系统中对话气泡的显示方式,使得用户在WP7设备上也能体验到类似iPhone的交互效果。以下是...

    安卓Android源码——仿iphone气泡短信DEMO.zip

    【标题】"安卓Android源码——仿iphone气泡短信DEMO.zip" 提供的是一个针对Android平台的项目,目标是实现类似iPhone中的气泡样式短信界面。这种界面设计常见于即时通讯应用,通过气泡来展示对话内容,使得用户界面...

    SMSReply:尝试在越狱的 iPhone 上自动发送短信并观看新的短信接收事件

    在越狱的 iPhone 上,开发者可以访问到更多的系统权限,这使得自动化发送短信以及监听新短信的接收成为可能。标题表明这个项目可能是用于研究或者测试目的,特别是对于那些对 iOS 自动化和越狱开发感兴趣的用户。 ...

Global site tag (gtag.js) - Google Analytics