短信发送。
来源:互联网 发布:windows 制作mac u盘 编辑:程序博客网 时间:2024/05/01 14:13
步骤如下:
1)导入CoreTelephony这个private framework
2)在xxx.m中加入红字部分:
#import "xxx.h"
extern NSString *CTSettingCopyMyPhoneNumber();
@implementation
+(NSString *)myNumber{
return CTSettingCopyMyPhoneNumber();
}
@end
其实很多地方都写了 标识extern NSString *CTSettingCopyMyPhoneNumber(); 之后就可以直接引用CTSettingCopyMyPhoneNumber()
一开始发现总报错说无此方法,非常纳闷,结果是一个字母大小写的问题,汗颜.汗颜
CTSettingCopyMyPhoneNumber(); 这个方法 可以返回 手机号码
另外机子的唯一标识码等一些信息 可以用[UIDevice currentDevice] 的uniqueIdentifier,name等属性来获取
MFMessageComposeViewController点击cancel 或者发送 键盘不出现
-(void)showMessageView
{
//
}
MFMessageComposeViewCont
-(void)messageComposeViewContro
{
[controller
switch ( result ) {
caseMessageComposeResultCanc
//click cancel button
break;
caseMessageComposeResultFail
break;
caseMessageComposeResultSent
//dosomething
break;
default:
break;
}
}
我们知道可以使用这样的代码在iphone中发送短信:
[[UIApplication sharedApplication]openURL:@"sms:12345678"];
但这样的方式无法指定短信内容。那么我们可以使用MessageUI框架。
首先在程序中导入MessageUI.framework。import头文件:#import"DeviceDetection.h"
然后在代码中使用下面的语句来调用短信发送窗口,并指定号码和短信内容:
MFMessageComposeViewCont
controller.body = @"zc";
controller.recipients = [NSArrayarrayWithObjects:@"106295598",nil];
controller.messageComposeDelegate =self;
[selfpresentModalViewControll
同时实现协议MFMessageComposeViewCont
在协议方法messageComposeViewContro
中解散窗口:
switch (result) {
caseMessageComposeResultCanc
NSLog(@"Cancelled");
break;
case MessageComposeResultFail
[selfalert:@"发送短信错误!"];
break;
case MessageComposeResultSent
break;
default:
break;
}
[selfdismissModalViewControll
每日分享 - 检测iPhone/iPodTouch/iPad设备类型
#import<Foundation/Foundation.h>
#import <sys/utsname.h>
enum {
};
@interface DeviceDetection : NSObject
+ (uint) detectDevice;
+ (NSString *) returnDeviceName:(BOOL)ignoreSimulator;
+ (BOOL) isIPodTouch;
@end
#import "DeviceDetection.h"
@implementation DeviceDetection
+ (BOOL) isIPodTouch
{
}
+ (uint) detectDevice {