2009-08-17 13 views
7

Sul mio iPhone, eseguo un'applicazione chiamata Caissa Chess. Dopo aver registrato l'app con il produttore (questo è facoltativo) ho ricevuto un'e-mail contenente un puzzle di scacchi. La parte cruciale del messaggio di posta, che mostra un diagramma di scacchi è simile al seguente:Associazione app estensione file iPhone

<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> 

Toccando il diagramma visualizzato da questo URL si chiude e si apre Mail.app Caissa scacchi, che poi mostra il diagramma, e permette di risolvere il puzzle.

Come funziona? Voglio fare una piccola app per l'iPhone, che avrà bisogno di un file esterno, inviato via email. Per prima cosa, ho bisogno di capire cosa sta succedendo.

  • chess:// come e dove è definito quale applicazione sarà aperto?
  • cosa significa il resto dell'URL? Si riferirebbe a un file locale o verrà risolto dall'app come http: url in diretta? Il corpo del messaggio di posta elettronica contiene un allegato immagine.

Sono sicuro che questo meccanismo è documentato da qualche parte, ma i libri che ho non lo descrivono, e Google non mi ha aiutato neanche io.

Grazie in anticipo

Sjakelien

+0

Questa domanda può anche essere rilevanti: http://stackoverflow.com/questions/625232/launching-application-from-a-sms-message/628721#628721 –

risposta

3

Si chiama gestore di protocollo URL. Questo blog entry spiega come implementarlo. In sostanza, è necessario:

  1. registrare il protocollo che si desidera (come chess://). Puoi farlo direttamente nel file Info.plist - consulta il post di blog per maggiori informazioni.

  2. Gestire la richiesta. Per questo, accettare il messaggio application: handleOpenURL: nel delegato dell'applicazione.

+0

Grazie arooaroo e Jesse! – Sjakelien