2012-01-21 17 views

cevap

2

Üç, MFMessageComposeViewController'u kullanarak bir SMS önceden oluşturmanın bir yoludur. Bu yöntemle ilgili tek sorun, kullanıcının SMS'yi kabul etmesi için bir modal görünümün gösterilmesidir (varsayılan olarak bir e-posta gönderen pencere gibi). Jailbreak olmadan "sessiz modda" bir SMS göndermenin bir yolu yoktur.

{  
... 
[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

Tam olarak bahsettiğiniz sebepten dolayı, bu mümkün değildir: spam yapmak mümkün.

3

SMS'in sizin için işleyeceği bir sunucuya ve uygulamanın bu sunucuyla etkileşime girmesi için bir API'ye ihtiyacınız olacaktır. Uygulamanızın doğrudan telefonunuzdan ileti göndermesi mümkün değildir, ancak uygulamanızı sizin için mesaj gönderecek harici bir hizmetle etkileşime girebilirsiniz.

+1

Böyle bir dış hizmetin, telefon numaranızdan, ancak hizmetin mesajlarını göndermeyeceğini unutmayın. – ceejayoz

+0

@ceejayoz Ve bu noktada, esasen Google sesinin (ve diğer servislerin) ne yaptığını yapıyorsunuz ve kullanıcıya SMS ile bir proxy numarası veriyorsunuz. –

İlgili konular