7

在我的 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://如何以及在哪里定义将打开什么应用程序?
  • URL 的其余部分是什么意思?它是指本地文件,还是应用程序将其解析为实时 http: url?电子邮件正文包含图像附件。

我确信这种机制记录在某处,但我所拥有的书籍没有描述它,谷歌也没有帮助我。

先感谢您

夏克连

4

2 回答 2

6

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

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

于 2009-08-17T07:59:36.063 回答
3

它称为 URL 协议处理程序。此博客条目详细介绍了如何实现它。基本上,您需要:

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

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

于 2009-08-17T08:01:08.853 回答