码迷,mamicode.com
首页 > 移动开发 > 详细

越狱手机发送短信

时间:2015-04-03 23:46:36      阅读:343      评论:0      收藏:0      [点我收藏+]

标签:

http://stackoverflow.com/questions/19175209/sending-sms-using-ctmessagecenter-ios-7

 

下面的代码在IOS7上面无效,经过一番搜索,解决方案如下。亲测试有效。

I am trying to send sms programmatically using private API. My phone is not jailbroken.

BOOL success =  [[CTMessageCenter sharedMessageCenter] sendSMSWithText:@"test 1234..." serviceCenter:nil toAddress:@"0777888888"];
if(success){
    NSLog(@"Message SENT");
}else{
    NSLog(@"Message not SENT");
}

This code always prints "Message not SENT". Can anyone help me ?

 

 

I guess, you have to write the telephone number in E.123 international notation. So add plus sign and country code. For a phone number is USA replace the leading 0 with +1:

[[CTMessageCenter sharedMessageCenter] sendSMSWithText:@"test 1234..." serviceCenter:nil toAddress:@"+1777888888"];

For a phone number is Sri Lanka use the appropriate country code +94.

UPDATE

I‘ve tested old working iOS 5 code under iOS 7... sendSMSWithText:serviceCenter:toAddress:returns NO. The same while using the new method sendSMSWithText:serviceCenter:toAddress:withMoreToFollow:

Panagiotis‘ suggestion seems correct :-/

UPDATE 2

http://stackoverflow.com/a/20425853/2270880 gives the right answer.

Under iOS 7 the app needs two entitlements com.apple.CommCenter.Messages-send andcom.apple.coretelephony.Identity.get. Adding additional entitlements via file appname.entitlements (and set in target‘s Build Settings > All > Code Signing > Code Signing Entitlements) give you the error

The entitlements specified in your applications Code Signing Entitlements file do not match those specified in your provisioning profile.
(0xE8008016).

on non-jailbroken devices.

越狱手机发送短信

标签:

原文地址:http://www.cnblogs.com/doudouyoutang/p/4391221.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!