Come posso inviare un messaggio SMS in modo programmatico da un'app per iPhone? In questo momento sto utilizzando Twilio e posso configurare correttamente una richiesta HTTP, autenticarsi con il server e ottenere una risposta.Invia SMS con Twilio su iOS
Ci deve essere qualche errata configurazione delle intestazioni HTTP in quanto posso ottenere una risposta dai server Twilio ma non passare mai i dati corretti.
Il mio codice corrente è in un metodo che viene chiamato da una semplice pressione di un pulsante.
- (IBAction)sendButtonPressed:(id)sender {
NSLog(@"Button pressed.");
NSString *kYourTwillioSID = @"AC8c3...f6da3";
NSString *urlString = [NSString stringWithFormat:@"https://AC8c3...6da3:[email protected]/2010-04-01/Accounts/%@/SMS/Messages", kYourTwillioSID];
NSURL *url = [NSURL URLWithString:urlString];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:url];
[request setValue:@"+18584334333" forHTTPHeaderField:@"From"];
[request setValue:@"+13063707780" forHTTPHeaderField:@"To"];
[request setValue:@"Hello\n" forHTTPHeaderField:@"Body"];
NSError *error;
NSURLResponse *response;
NSData *urlData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
if (!error) {
NSString *response_details = [[NSString alloc]initWithData:urlData encoding:NSUTF8StringEncoding];
NSLog(@"%@",response_details);
}
NSLog(@"Request finished %@", error);
Penso che il problema è che dovresti usare i campi POST, non le intestazioni HTTP ... Verificherò che è molto veloce ... –
Si tenga presente che l'utilizzo dell'API Twilio per inviare messaggi di testo direttamente da un'applicazione iOS non è consigliato in quanto è necessario incorporare AccountSid e AuthToken nell'app, che possono essere facilmente decompilati compromettendo le proprie credenziali. È molto più sicuro utilizzare un servizio come Parse o Azure Mobile Services per ospitare un semplice servizio che invia il messaggio e basta chiamarlo dalla tua app. –
Devin, anche con Parse o Azure dovrai inserire il tuo token di autorizzazione nella tua app compilata. –