restrizioni
Se potessi inviare un SMS all'interno di un programma su iPhone, sarai in grado di scrivere giochi che inviano spam in background. Sono sicuro che vorresti davvero ricevere spam dai tuoi amici, "Prova questo nuovo gioco! Roxxers i miei boxxer, e anche i tuoi saranno! Roxxersboxxers.com !!!! Se ti iscrivi ora otterrai 3.200 RB punti!!"
Apple ha restrizioni per le operazioni automatizzate (o anche parzialmente automatizzate) di SMS e di composizione. (Immagina se il gioco componesse invece il 911 in un determinato momento della giornata)
La soluzione migliore è configurare un server intermedio su Internet che utilizza un servizio di invio SMS online e inviare l'SMS tramite tale percorso se è necessaria un'automazione completa. (ad esempio, il tuo programma su iPhone invia un pacchetto UDP al tuo server, che invia il vero SMS)
Aggiornamento iOS 4
iOS 4, tuttavia, ora fornisce un viewController
che puoi importare nella tua applicazione. Si prepopolano i campi SMS, quindi l'utente può iniziare l'invio di SMS all'interno del controller. A differenza dell'utilizzo del formato url "SMS: ...", ciò consente alla tua applicazione di rimanere aperta e ti consente di popolare sia i campi to che body . Puoi anche specificare più destinatari.
Ciò impedisce alle applicazioni di inviare SMS automatizzati senza che l'utente ne sia esplicitamente a conoscenza. Non è ancora possibile inviare SMS completamente automatizzati dall'iPhone stesso, richiede una certa interazione da parte dell'utente. Ma questo almeno ti consente di popolare tutto ed evita di chiudere l'applicazione.
La classe MFMessageComposeViewController è ben documentata e le esercitazioni mostrano quanto sia facile da implementare.
Aggiornamento iOS 5
iOS 5 include la messaggistica per dispositivi iPod touch e iPad, quindi mentre non l'ho ancora testato da solo, è possibile che tutti i dispositivi iOS siano in grado di inviare SMS tramite MFMessageComposeViewController. In tal caso, Apple esegue un server SMS che invia messaggi per conto di dispositivi che non dispongono di un modem cellulare.
Aggiornamento iOS 6
Nessuna modifica a questa classe.
Aggiornamento iOS 7
Ora puoi verificare se il supporto messaggi che stai utilizzando accetterà un oggetto o degli allegati e quale tipo di allegati accetterà. È possibile modificare l'oggetto e aggiungere allegati al messaggio, dove il supporto lo consente.
Aggiornamento iOS 8
Nessuna modifica a questa classe.
Aggiornamento iOS 9
Nessuna modifica a questa classe.
Aggiornamento iOS 10
Nessuna modifica a questa classe.
Aggiornamento iOS 11
Nessuna modifica significativa a questa classe
Limitazioni a questa classe
Tieni presente che questo non funzionerà sui telefoni senza iOS 4 e non funzionerà su iPod touch o iPad, tranne, forse, su iOS 5. Prima di utilizzare questo, devi rilevare il dispositivo e le limitazioni di iOS controller o rischi di limitare l'app a 3G, 3GS e 4 iPhone aggiornati di recente.
Tuttavia, un server intermedio che invia SMS consentirà a tutti e tutti questi dispositivi iOS di inviare SMS purché abbiano accesso a Internet, quindi potrebbe essere comunque una soluzione migliore per molte applicazioni. In alternativa, utilizzare entrambi e tornare a un servizio SMS online solo quando il dispositivo non lo supporta.