Alguém sabe se é possível e como enviar programaticamente um SMS do iPhone
SDK / Cocoa Touch oficial?
ios
objective-c
cocoa-touch
sms
Nitin Gohel
fonte
fonte
tools->script editor
e, em uma solicitação POST, use aMailApp.sendEmail
API para enviar e-mail para um número de telefone. att de é [email protected], tmobile do é [email protected] Eu acho que (ALL FREE)Respostas:
Restrições
Se você pudesse enviar um SMS em um programa no iPhone, poderá escrever jogos que enviam spam a pessoas em segundo plano. Tenho certeza de que realmente deseja receber spams de seus amigos: "Experimente este novo jogo! Roxxers meus boxxers, e o seu também será! Roxxersboxxers.com !!!! Se você se inscrever agora, receberá 3.200 RB pontos!!"
A Apple tem restrições para operações de discagem e SMS automatizadas (ou mesmo parcialmente automatizadas). (Imagine se o jogo discar 911 em uma determinada hora do dia)
Sua melhor aposta é configurar um servidor intermediário na Internet que use um serviço de envio de SMS on-line e enviar o SMS por essa rota, se você precisar de automação completa. (ou seja, seu programa no iPhone envia um pacote UDP para o servidor, que envia o SMS real)
Atualização para iOS 4
O iOS 4, no entanto, agora fornece um que
viewController
você pode importar para o seu aplicativo. Você preenche os campos do SMS e, em seguida, o usuário pode iniciar o envio do SMS no controlador. Diferente do uso do formato de URL "SMS: ...", isso permite que seu aplicativo permaneça aberto e permite que você preencha os campos to e body . Você pode até especificar vários destinatários.Isso impede que os aplicativos enviem SMS automatizados sem que o usuário tenha conhecimento explícito. Você ainda não pode enviar SMS totalmente automatizado do próprio iPhone, isso requer alguma interação do usuário. Mas isso pelo menos permite que você preencha tudo e evita o fechamento do aplicativo.
A classe MFMessageComposeViewController está bem documentada e os tutoriais mostram como é fácil implementar.
Atualização para iOS 5
O iOS 5 inclui mensagens para dispositivos iPod touch e iPad; portanto, embora eu ainda não tenha testado isso, pode ser que todos os dispositivos iOS possam enviar SMS via MFMessageComposeViewController. Se for esse o caso, a Apple está executando um servidor SMS que envia mensagens em nome de dispositivos que não possuem um modem celular.
Atualização para iOS 6
Nenhuma alteração nesta classe.
Atualização para iOS 7
Agora você pode verificar se o meio de mensagem que você está usando aceita um assunto ou anexos e que tipo de anexos ele aceita. Você pode editar o assunto e adicionar anexos à mensagem, onde a mídia permitir.
Atualização para iOS 8
Nenhuma alteração nesta classe.
Atualização para iOS 9
Nenhuma alteração nesta classe.
Atualização para iOS 10
Nenhuma alteração nesta classe.
Atualização do iOS 11
Nenhuma alteração significativa nesta classe
Limitações para esta classe
Lembre-se de que isso não funcionará em telefones sem o iOS 4 e não funcionará no iPod touch ou no iPad, exceto, talvez, no iOS 5. Você deve detectar o dispositivo e as limitações do iOS antes de usá-lo. controlador ou risco de restringir seu aplicativo a iPhones 3G, 3GS e 4 atualizados recentemente.
No entanto, um servidor intermediário que envia SMS permitirá que todos e quaisquer desses dispositivos iOS enviem SMS desde que tenham acesso à Internet, portanto ainda pode ser uma solução melhor para muitos aplicativos. Como alternativa, use os dois e volte a um serviço de SMS on-line quando o dispositivo não o suportar.
fonte
Aqui está um tutorial que faz exatamente o que você está procurando: o
MFMessageComposeViewController
.http://blog.mugunthkumar.com/coding/iphone-tutorial-how-to-send-in-app-sms/
Essencialmente:
E um link para os documentos.
https://developer.apple.com/documentation/messageui/mfmessagecomposeviewcontroller
fonte
MFMessageComposeViewController *controller = ...
interior do bloco if. (o método de classe não precisa ter uma instância para fazer o teste)http://blog.mugunthkumar.com/coding/iphone-tutorial-how-to-send-in-app-sms/
diz "502 Bad Gateway" no meu laptop. Talvez o link esteja quebrado.#import <MessageUI/MessageUI.h>
no seu arquivo de cabeçalhoMFMessageComposeViewControllerDelegate
eUINavigationControllerDelegate
IBAction
método, declare a instância doMFMessageComposeViewController
saymessageInstance
[MFMessageComposeViewController canSendText]
em uma condição if, ele retornará Sim / NãoNa
if
condição, faça o seguinte:Primeiro conjunto de corpo para o seu
messageInstance
como:Em seguida, decida os destinatários da mensagem como:
Defina um delegado para sua messageInstance como:
Na última linha, faça o seguinte:
fonte
presentModalViewController:animated:
está obsoleta; use empresentViewController:animated:completion:
vez disso. Além disso, lembre-se de definir o método delegado- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result
se quiser conhecer os resultados.Você pode usar um
sms:[target phone number]
URL para abrir o aplicativo SMS, mas não há indicações sobre como preencher um corpo do SMS com texto.fonte
Um dos sistemas de comunicação entre processos no MacOS é o XPC. Essa camada do sistema foi desenvolvida para comunicação entre processos com base na transferência de estruturas plist usando libSystem e launchd. De fato, é uma interface que permite gerenciar processos através da troca de estruturas como dicionários. Devido à hereditariedade, o iOS 5 também possui esse mecanismo.
Você já deve entender o que quero dizer com esta introdução. Sim, existem serviços de sistema no iOS que incluem ferramentas para comunicação XPC. E quero exemplificar o trabalho com um daemon para envio de SMS. No entanto, deve-se mencionar que essa capacidade é corrigida no iOS 6, mas é relevante para o iOS 5.0—5.1.1. Jailbreak, Private Framework e outras ferramentas ilegais não são necessárias para sua exploração. Somente o conjunto de arquivos de cabeçalho do diretório / usr / include / xpc / * é necessário.
Um dos elementos para o envio de SMS no iOS é o serviço do sistema com.apple.chatkit, cujas tarefas incluem geração, gerenciamento e envio de mensagens curtas de texto. Para facilitar o controle, ele possui a porta de comunicação disponível publicamente com.apple.chatkit.clientcomposeserver.xpc. Usando o subsistema XPC, você pode gerar e enviar mensagens sem a aprovação do usuário.
Bem, vamos tentar criar uma conexão.
Agora temos a conexão XPC myConnection configurada para o serviço de envio de SMS. No entanto, a configuração XPC prevê a criação de conexões suspensas - precisamos dar mais uma etapa para a ativação.
A conexão está ativada. Nesse momento, o iOS 6 exibirá uma mensagem no log do telefone de que este tipo de comunicação é proibido. Agora precisamos gerar um dicionário semelhante ao xpc_dictionary com os dados necessários para o envio da mensagem.
Pouco resta: envie a mensagem para a porta XPC e verifique se ela foi entregue.
Isso é tudo. SMS enviado.
fonte
Adicione o MessageUI.Framework e use o seguinte código
E depois:
e o método delegado -
fonte
Você pode usar esta abordagem:
O iOS navegará automaticamente do seu aplicativo para a página de composição de mensagens do aplicativo de mensagens. Como o esquema da URL começa com sms :, ele é identificado como um tipo reconhecido pelo aplicativo de mensagens e o inicia.
fonte
fonte
Siga estes procedimentos
1 .Adicionar
MessageUI.Framework
ao projeto2) Importar
#import <MessageUI/MessageUI.h>
no arquivo .h.3) Copie este código para enviar mensagem
4) Implemente o
delegate
método, se desejar.Corra E VÁ!
fonte
[self dismissViewControllerAnimated:YES completion:nil];
dentro domessageComposeViewController: didFinishWithResult:
método de retorno de chamada. Caso contrário, ele simplesmente ficará lá.Aqui está a versão Swift do código para enviar SMS no iOS. Observe que ele funciona apenas em dispositivos reais. Código testado no iOS 7+. Você pode ler mais aqui .
1) Crie uma nova classe que herda MFMessageComposeViewControllerDelegate e NSObject:
2) Como usar esta classe:
fonte
Há uma classe no iOS 4 que suporta o envio de mensagens com o corpo e os destinatários do seu aplicativo. Funciona da mesma forma que o envio de email. Você pode encontrar a documentação aqui: link text
fonte
fonte
// chama o método com nome e número.
}
// Método para enviar mensagem
fonte
Se desejar, você pode usar a estrutura privada
CoreTelephony
que chamouCTMessageCenter
classe. Existem alguns métodos para enviar sms.fonte
Usa isto:
fonte
Essa seria a melhor e mais curta maneira de fazê-lo.
fonte
Você pode apresentar o MFMessageComposeViewController, que pode enviar SMS, mas com a solicitação do usuário (ele toca no botão enviar). Não há como fazer isso sem a permissão do usuário. No iOS 11, você pode criar extensões, que podem ser como filtros para mensagens recebidas, informando ao iOS seu spam ou não. Nada mais com o SMS não pode ser feito
fonte
Você precisa usar o MFMessageComposeViewController se desejar mostrar a criação e o envio da mensagem em seu próprio aplicativo.
Caso contrário, você pode usar o método sharedApplication .
fonte