2009-08-17 9 views
7

私のiPhoneでは、私はCaissa Chessというアプリを起動しています。メーカーにアプリを登録した後(これはオプションです)、チェスのパズルを含むメールが届きました。このURLで表示される図をタップ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> 

が、その後の図が表示され、あなたが解決することを可能にすることを、Mail.appを終了し、Caissaチェスを開きます:メールメッセージの重要な部分は、チェスの図を示すことは、このようになります。パズル。

どのように機能するのですか?iPhone用の小さなアプリケーションを作成したいと思います。外部ファイルが必要な場合は、電子メールで送信します。私は何が起こっているのかを理解する必要があります。

  • chess://どのアプリケーションがどのように開かれるか定義されていますか?
  • 残りのURLの意味は何ですか?それはローカルファイルを参照しているのだろうか、それともライブhttp:urlとしてアプリケーションによって解決されるだろうか?電子メールメッセージ本文には画像添付ファイルが含まれています。

私はこのメカニズムがどこかに書かれていると確信していますが、私が持っている本はそれを説明していないし、Googleも私を助けませんでした。

は、あなたのアプリでプロトコルを登録する必要が

Sjakelien

+0

この質問にも関連する可能性がある:http://stackoverflow.com/questions/625232/launching-application-from-a-sms-message/628721#628721 –

答えて

3

これは、URLのプロトコルハンドラと呼ばれています。このblog entryは、実装方法を詳しく説明しています。基本的には、以下を行う必要があります。

  1. は(chess://のように)したいプロトコルを登録します。 Info.plistファイルでこれを直接行うことができます。詳細については、ブログのエントリーをチェックしてください。

  2. リクエストを処理します。そのためには、アプリケーション代理人にapplication: handleOpenURL:というメッセージを受け入れます。

+0

おかげでarooarooとジェシー! – Sjakelien