2009-08-17 16 views
7

Auf meinem iPhone, ich habe eine App namens Caissa Chess. Nach der Registrierung der App beim Hersteller (dies ist optional) habe ich eine E-Mail mit einem Schachpuzzle erhalten. Der entscheidende Teil der Mail-Nachricht, sieht wie folgt ein Schachdiagramm zeigt:iPhone Dateierweiterung app association

<a href="chess://puzzle/8/p1R3p1/4p1kn/3p3N/3Pr2P/6P1/PP3K2/8 w ?term=w2&solution=c7xg7&description=Amura%20vs%20Carlos%20Bulcourf%2C%20Villa%20Ballester%2C%201996"><img src="cid:image1"></a> 

Tippen auf das Diagramm von dieser URL angezeigt wird beendet Mail.app und öffnet Caissa Chess, dass dann das Diagramm zeigt, und ermöglicht es Ihnen, zu lösen das Puzzle.

Wie funktioniert das? Ich möchte eine kleine App für das iPhone erstellen, die eine externe Datei benötigt, die per E-Mail gesendet wird. Ich werde zuerst verstehen müssen, was vor sich geht.

  • chess:// Wie und wo ist definiert, welche Anwendung geöffnet wird?
  • Was bedeutet der Rest der URL? Würde es sich auf eine lokale Datei beziehen, oder wird es von der App als eine Live http: URL aufgelöst? Der Nachrichtentext enthält einen Bildanhang.
  • Ich bin sicher, dass dieser Mechanismus irgendwo dokumentiert ist, aber die Bücher, die ich habe, beschreiben es nicht, und Google hat mir auch nicht geholfen.

    Vielen Dank im Voraus

    Sjakelien

    +0

    Diese Frage kann auch relevant sein: http://stackoverflow.com/questions/625232/launching-application-from-a-sms-message/628721#628721 –

    Antwort

    3

    Es ist ein URL-Protokoll-Handler aufgerufen. Diese blog entry Details, wie Sie es implementieren. Grundsätzlich müssen Sie:

    1. das Protokoll Registrieren Sie wollen (wie chess://). Sie können dies direkt in der Datei Info.plist tun - lesen Sie den Blog-Eintrag für weitere Informationen.

    2. Behandeln Sie die Anfrage. Akzeptieren Sie dazu die Nachricht application: handleOpenURL: in Ihrem Anwendungsdelegaten.

    +0

    Dank arooaroo und Jesse! – Sjakelien