Ассоциация приложений для расширения файлов iPhone

На моем 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? Тело сообщения электронной почты содержит вложение изображения.

Я уверен, что этот механизм документирован где-то, но книги, которые у меня есть, не описывают его, и Google тоже не помог мне.

Заранее благодарю

Sjakelien

Ответы

Ответ 2

Он вызвал обработчик протокола URL. Эта запись в блоге описывает, как ее реализовать. В принципе, вам необходимо:

  • Зарегистрируйте требуемый протокол (например, chess://). Вы можете сделать это непосредственно в файле Info.plist - просмотрите запись в блоге для получения дополнительной информации.

  • Обработать запрос. Для этого примите сообщение application: handleOpenURL: в делетете приложения.