iphone - iOS以编程方式更改SMSC

标签 iphone ios sms

我正在编写一个可以测试来自运营商的不同SMSC(短消息服务中心)的应用程序。因此,我需要更改iPhone用于发送SMS的SMSC。有办法吗?

Android提供了带有SMSC作为参数的sendMessage方法,iOS中是否有等效方法?我不在乎它是否使用 private API调用,因为我还是不会发布我的应用程序(仅出于内部测试目的)。任何帮助表示赞赏,谢谢。

最佳答案

此解决方案可在非越狱手机上使用,但不会进入应用商店。
它使用 private API,与您对Android的sendMessage的描述非常相似。

您必须将您的项目链接到CoreTelephony框架(现在公开),并创建下面描述的标题。也包括示例。

CTMessageCenter.h:

#import <Foundation/Foundation.h>

@interface CTMessageCenter : NSObject
{
}

+ (id)sharedMessageCenter;
- (id)init;
- (id)sendSMS:(id)fp8;
- (id)sendMMSFromData:(id)fp8 messageId:(unsigned int)fp12;
- (id)sendMMS:(id)fp8;
- (id)send:(id)fp8;
- (id)incomingMessageWithId:(unsigned int)fp8 telephonyCenter:(struct __CTTelephonyCenter *)fp12 isDeferred:(BOOL)fp16;
- (int)incomingMessageCount;
- (id)allIncomingMessages;
- (void)acknowledgeIncomingMessageWithId:(unsigned int)fp8;
- (void)acknowledgeOutgoingMessageWithId:(unsigned int)fp8;
- (id)incomingMessageWithId:(unsigned int)fp8;
- (id)deferredMessageWithId:(unsigned int)fp8;
- (id)statusOfOutgoingMessages;
- (id)encodeMessage:(id)fp8;
- (id)decodeMessage:(id)fp8;
- (BOOL)isMmsEnabled;
- (BOOL)isMmsConfigured;
- (BOOL)sendSMSWithText:(id)fp8 serviceCenter:(id)fp12 toAddress:(id)fp16;

@end

示例:
#import "CTMessageCenter.h"

BOOL success = [[CTMessageCenter sharedMessageCenter]  sendSMSWithText:@"test" serviceCenter:serviceCenterNumberAsString toAddress:numberAsString];

关于iphone - iOS以编程方式更改SMSC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9774919/

相关文章:

iphone - 在单个 IPA 中捆绑多个 IPA

ios - 在 objective-c 中,比较两个值时在 if 状态下不返回任何内容的目的是什么?

android - 检查是否已读取新的 SMS

php - 如何构建串联的短信 pdu?获取垃圾字符

ios - WKWebView 页面进入透明状态栏

iphone - 如何在 UIButton 中从正常状态和选定状态下的标题文本设置 UIImage

iphone - 删除 UITableViewCell 编辑模式缩进?

objective-c - 正在设置 NSString 但在从另一个类调用时显示为空 - iOS

ios - 通过 POST 使用 manager.request

android - Android中如何查询彩信登录