2012-01-21 15 views

Odpowiedz

2

Trzy to sposób na wstępne zbudowanie wiadomości SMS za pomocą MFMessageComposeViewController. Jedynym problemem związanym z tą metodą jest pokazanie użytkownikowi widoku modalnego w celu zaakceptowania wiadomości SMS (jak okno, które domyślnie wysyła wiadomość e-mail). Nie ma możliwości wysłania SMS-a w "trybie cichym" bez 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

Nie jest to możliwe, dokładnie z tego powodu, o którym wspomniałeś: umożliwiłoby to spamowanie.

3

Potrzebowałbyś serwera, który obsłużyłby SMS-a dla ciebie i interfejsu API aplikacji do interakcji z tym serwerem. Aplikacja nie może wysyłać wiadomości bezpośrednio z telefonu, ale z pewnością możesz mieć interakcję z zewnętrzną usługą, która wyśle ​​wiadomości za Ciebie.

+1

Pamiętaj, że taka usługa zewnętrzna nie wysyłałaby wiadomości z Twojego numeru telefonu, ale z usługi. – ceejayoz

+0

@ceejayoz I w tym momencie robisz zasadniczo to, co używasz google voice (i inne usługi), dając użytkownikowi numer proxy do SMS-a. –

Powiązane problemy