Обычно они обрабатываются с помощью Apple Events . В частности, ваше приложение получит событие открытый документ . То, как вы справитесь с этим, зависит от типа приложения, которое вы пишете.
Если вы пишете приложение для документов, это легко: контроллер документов получает сообщение openDocumentWithContentsOfURL:display:error:
(или openDocumentWithContentsOfFile:display:
для систем, предшествующих Tiger), и обрабатывает это соответственно .
Для приложений Какао, которые не основаны на документах, делегату приложения будет отправлено сообщение application:openFiles:
. Если делегат не отвечает на это, он будет пытаться отправить другие сообщения, пока делегат не ответит на одно (openTempFile:
, openFiles:
и openFile:
в указанном порядке).
Вот документация для обработки событий Open Apple в Какао.
Для приложений Carbon я не могу вспомнить детали (давно я писал код Carbon), но если я правильно помню, вы бы установили обработчик событий Apple для событий kAEOpenDocuments
с AEInstallEventHandler()
, Подробнее см. в документации .