2008-12-23 6 views
15

Nach einer Überprüfung der Dokumentation iPhone SDK, ich habe nicht noch einen Weg für eine Anwendung gefunden so geschrieben werden, dass sie programmatisch den Inhalt eines eingehenden SMS verarbeiten können Nachricht innerhalb der iPhone-Plattform. Die Idee wäre für eine solche Anwendung zu laufen im Hintergrund und basierend auf speziell formatierten SMS-Nachrichten wäre in der Lage, bestimmte Maßnahmen zu ergreifen.iPhone: wie programmatisch auf SMS-Nachrichten antworten

Weiß jemand, ob dies mit einer iPhone SDK-Anwendung möglich ist, und wenn ja, geben Sie einen Zeiger auf Informationen darüber, wie dies getan werden kann?

Antwort

18

Leider können eingehende SMS mit dem iPhone SDK nicht abgehört oder über sie informiert werden.

Eine mögliche Alternative besteht darin, ein benutzerdefiniertes URL-Schema zu registrieren, das Ihre Anwendung startet, wenn eine URL mit diesem Schema in die SMS-Nachricht eingebettet ist und der Benutzer darauf klickt.

Zum Festlegen eines benutzerdefinierten URL-Schemas müssen Sie die CFBundleURLSchemes- und CFBundleURLName-Schlüssel in der Datei info.plist Ihrer Anwendung implementieren.

Im Delegaten Ihrer Anwendung können Sie dann die Anwendung implementieren: handleOpenURL: Methode, um alle Parameter, die von der URL in der SMS-Nachricht an Ihre App übergeben wurden, abzurufen.

+0

Ausgezeichnete Informationen! –

+0

Danke das ist hilfreich –

4

Ich glaube, dass das SDK derzeit keine Hintergrund-Apps (außer Apple) erlaubt.

1

BREW und J2ME hatten (und haben wahrscheinlich immer noch) Möglichkeiten, Ihre App über speziell formatierte SMS zu starten, worauf sich die Jeff bezieht.

Apple verfügt über den kommenden Push-Server, mit dem Sie dem Benutzer eine Benachrichtigung senden können, die ihm die Möglichkeit gibt, Ihre App zu starten, aber Sie können Ihre App nicht für sie starten.

0

Leider ein URL-Schema nur Registrierung dosn't Sie überhaupt helfen, weil die SMS-App macht „http: //“ URLs nur anklickbar ...

+0

Wenn das stimmt, könnten Sie vielleicht einen Webserver einrichten, dessen einzige Aufgabe es ist, den Browser auf eine Nicht-HTTP-URL umzuleiten, wenn jemand auf diesen Link klickt? –

+0

Diese Problemumgehung funktioniert, beinhaltet aber wiederum eine dritte Komponente, die nicht die eigentliche Absicht von benutzerdefinierten URL-Schemas ist, oder? Fühlt sich müde, eine SMS an die Benutzer zu senden, die erfordert, dass er auf einen http-Link klickt, der Safari öffnet und ihn an eine benutzerdefinierte URL umleitet, die Safari schließt und die App startet ... – aldi