2012-01-21 5 views

Respuesta

2

Tres es una manera de precompilar un SMS usando MFMessageComposeViewController. El único problema con este método es que se mostrará una vista modal al usuario para aceptar el SMS (como la ventana que envía un correo electrónico de la manera predeterminada). No hay forma de enviar un SMS en "modo silencioso" sin jailbreak.

{  
... 
[self sendSMS:@"_SMS_TEXT_" recipientList:[NSArray arrayWithObjects:@"PHONE_NUMBER", nil]]; 
... 
} 

- (void)sendSMS:(NSString *)bodyOfMessage recipientList:(NSArray *)recipients 
{ 
    MFMessageComposeViewController *controller = [[[MFMessageComposeViewController alloc] init] autorelease]; 
    if([MFMessageComposeViewController canSendText]) 
    { 
     controller.body = bodyOfMessage;  
     controller.recipients = recipients; 
     controller.messageComposeDelegate = self; 
     [self presentModalViewController:controller animated:YES]; 
    }  
} 

- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result 
{ 
    [self dismissModalViewControllerAnimated:YES]; 

    if (result == MessageComposeResultCancelled) 
     NSLog(@"Message cancelled") 
    else if (result == MessageComposeResultSent) 
     NSLog(@"Message sent") 
    else 
     NSLog(@"Message failed") 
} 
5

No es posible, exactamente por la razón que usted mencionó: haría posible el correo no deseado.

3

Necesitará un servidor que maneje los SMS por usted, y una API para que la aplicación interactúe con ese servidor. No es posible que su aplicación envíe mensajes directamente desde el teléfono, pero sin duda puede hacer que su aplicación interactúe con un servicio externo que enviará los mensajes por usted.

+1

Tenga en cuenta que un servicio externo de este tipo no enviaría mensajes desde su número de teléfono, sino desde el del servicio. – ceejayoz

+0

@ceejayoz Y en ese momento estás haciendo básicamente lo que Google Voice (y otros servicios), dando al usuario un número de proxy para SMS. –

Cuestiones relacionadas