在我们的应用程序中,我们使用http://www.twilio.com/通过iPhone上的服务发送短信,非常棒.
要发送短信,您甚至不需要下载他们的SDK并将其放入您的项目中.它基本上归结为HTTP POST命令,您可以在其中为SMS,邮件正文和API密钥+机密提供电话号码.
以下是通过Twillio发送短信的便利示例:
- (void)twilloSendSMS:(NSString *)message withQueue:(NSOperationQueue *)queue
andSID:(NSString *)SID andSecret:(NSString *)secret
andFromNumber:(NSString *)from andToNumber:(NSString *)to {
NSLog(@"Sending request.");
// Build request
NSString *urlString = [NSString stringWithFormat:@"https://%@:%@@api.twilio.com/2010-04-01/Accounts/%@/SMS/Messages", SID, secret, SID];
NSURL *url = [NSURL URLWithString:urlString];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:url];
[request setHTTPMethod:@"POST"];
// Set up the body
NSString *bodyString = [NSString stringWithFormat:@"From=%@&To=%@&Body=%@", from, to, message];
NSData *data = [bodyString dataUsingEncoding:NSUTF8StringEncoding];
[request setHTTPBody:data];
[NSURLConnection
sendAsynchronousRequest:request
queue:queue
completionHandler:^(NSURLResponse *response,
NSData *data,
NSError *error)
{
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)response;
if ([data length] >0 && error == nil && ([httpResponse statusCode] == 200 || [httpResponse statusCode] == 201))
{
NSString *receivedString = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"Request sent. %@", receivedString);
}
else {
NSString *receivedString = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"Request sent. %@", receivedString);
NSLog(@"Error: %@", error);
}
}];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
271 次 |
| 最近记录: |