越狱手机发送短信

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.

posted @ 2015-04-03 22:59  兜兜有糖的博客  阅读(570)  评论(0编辑  收藏  举报