iPhone文件扩展名app association

时间:2009-08-17 07:41:39

标签: iphone file url types associations

在我的iPhone上,我正在运行名为Caissa Chess的应用程序。在向制造商注册应用程序后(这是可选的)我收到了一封包含国际象棋拼图的电子邮件。邮件消息的关键部分,显示国际象棋图如下:

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

点击此URL显示的图表退出Mail.app并打开Caissa Chess,然后显示图表,并允许您解决难题。

这是如何工作的?我想为iPhone制作一个小应用程序,需要一个外部文件,通过电子邮件发送。我将首先了解正在发生的事情。

  • chess://如何以及在何处定义将打开哪个应用程序?
  • 网址的其余部分是什么意思?它会引用一个本地文件,还是会被应用程序解析为一个实时的http:url?电子邮件正文包含图像附件。

我确信这个机制已在某处记录,但是我没有描述它的书籍,Google也没有帮助我。

提前谢谢

Sjakelien

2 个答案:

答案 0 :(得分:6)

您必须在应用中注册协议。我之前看过一些教程,包括这篇教程。

http://iosdevelopertips.com/cocoa/launching-your-own-application-via-a-custom-url-scheme.html

答案 1 :(得分:3)

它被称为URL协议处理程序。这个blog entry详细说明了如何实现它。基本上,你需要:

  1. 注册所需的协议(如chess://)。您可以直接在Info.plist文件中执行此操作 - 查看博客条目以获取更多信息。

  2. 处理请求。为此,请接受应用程序代理中的application: handleOpenURL:消息。