2009-08-17 39 views
7

在我的iPhone上,我正在運行一個名爲Caissa Chess的應用程序。在向製造商註冊應用程序(這是可選的)後,我收到一封電子郵件,其中包含一個國際象棋之謎。該郵件的重要組成部分,呈現出棋圖如下所示:此網址所顯示的圖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並打開凱撒國際象棋,這則顯示圖,讓你解決難題。

這是如何工作的?我想爲iPhone做一個小應用程序,需要通過電子郵件發送的外部文件。我將首先需要了解發生了什麼事。

  • chess://如何以及在何處定義將打開哪個應用程序?
  • URL的其餘部分是什麼意思?它是指一個本地文件,還是將它作爲一個實時http:url解析?電子郵件正文包含圖片附件。

我確定這個機制是有記錄的,但我沒有描述它的書,而Google也沒有幫我。

預先感謝您

Sjakelien

+0

這個問題也可能是相關的:http://stackoverflow.com/questions/625232/launching-application-from-a-sms-message/628721#628721 – 2009-08-17 12:24:32

回答

3

它被稱爲URL協議處理程序。這blog entry細節如何實現它。基本上,你需要:

  1. 註冊你想要的協議(如chess://)。您可以直接在Info.plist文件中執行此操作 - 查看博客條目以獲取更多信息。

  2. 處理請求。爲此,請接受應用程序委託中的application: handleOpenURL:消息。

+0

謝謝arooaroo和傑西! – Sjakelien 2009-08-17 08:30:50