我知道在真正的应用程序中不允许这样做有利于用户的隐私和安全.但是出于纯粹的学术目的,我试图发送消息而不像这样呈现MessageComposer UI.
MFMessageComposeViewController *picker = [[MFMessageComposeViewController alloc] init];
if([MFMessageComposeViewController canSendText]) {
picker.recipients = [NSArray arrayWithObject:@"1234"];
picker.body = @"Hello";
[picker performSelector:@selector(smsComposeControllerSendStarted:) withObject:[UIButton buttonWithType:UIButtonTypeCustom]];
}
Run Code Online (Sandbox Code Playgroud)
结果没有任何结果.甚至在控制台上都没有失败异常.我都没有在短信应用上看到消息.我发送邮件的人也没有得到它.
可以在这里找到iMars和MFMessageComposeViewController方法的列表.
我编写了一个快速代码来验证这些是否是MFMessageComposeViewController中实际存在的项目.
uint varCount = 0;
Class cls= [MFMessageComposeViewController class];
Ivar *vars = class_copyIvarList(cls, &varCount);
for (uint i = 0; i < varCount; i++) {
Ivar var = vars[i];
const char* name = ivar_getName(var);
const char* typeEncoding = ivar_getTypeEncoding(var);
printf("iVar%i------------> %s\n",i+1,name);
}
free(vars);
Method *imps = class_copyMethodList(cls, &varCount);
for (uint i = 0; i < …Run Code Online (Sandbox Code Playgroud) 有谁知道是否可以使用私有框架直接发送iMessage?
我尝试使用CTMessageCenter,CoreTelephony但它会发送短信,即使我的手机可以发送iMessages.
我正在构建一个破牢的设备,我想阻止收到的消息.我正在尝试挂钩_ingestIncomingCTMessage,但它没有结果(它似乎不适用于ios6).我怎样才能阻止ios6中的短信?