Выбор приложений и документов
Пользователи могут выбрать приложения и документы для совместного использования аудио/видеоконтента по iChat Theater. Пользователи делают это путем выбора File> Share a File с iChat Theater и выбора приложения или документа доле. Или пользователь может перетащить значок приложения непосредственно в окно видео-чата. Эти действия запускают сеанс со связанного клиентского приложения.
Приложения и их документы автоматически не появляются как выбор пользователю, если iChat Theater не знает, что у них есть аудио/источники видеосигнала, которое может быть совместно использовано. В частности iChat Theater должен знать, какие приложения, для которых типы документов могут совместно использовать аудио/видео. iChat Theater получает эту информацию от информационного файла списка свойств приложения. Поэтому отредактируйте информационный файл списка свойств своего приложения, как описано в этой статье, чтобы позволить пользователям совместно использовать Ваше приложение и документы по iChat Theater.
Существует два пути к приложениям для идентификации себя как потенциальное аудио/источники видеосигнала для iChat Theater. Основанные на документе приложения могут зарегистрировать свои типы документов с помощью LSCanProvideIMVideoDataSource
Булев ключ описан в Регистрации Типов документов. Приложения, не имеющие документов, но все еще обеспечивающие аудио/источники видеосигнала, могут также использовать этот ключ, как описано в Регистрирующихся Приложениях Недокумента.
Кроме того, приложение должно обеспечить аудио/источник видеосигнала по запросу пользователем. Считайте Совместное использование Аудио/Видеоконтента для шагов, которые необходимо предпринять, когда пользователь выбирает приложение или его документы.
Информационный файл списка свойств, Info.plist
, расположен в пакете приложения. Считайте руководство пользователя Xcode 2 для узнавания больше об информационном списке свойств.
Регистрация типов документов
Для идентификации типа документа, поддерживаемого приложением как потенциальное аудио/источник видеосигнала для iChat Theater, добавьте LSCanProvideIMVideoDataSource
Булев ключ к соответствующему словарю в CFBundleDocumentTypes
массив в приложении Info.plist
файл. Если Вы устанавливаете LSCanProvideIMVideoDataSource
к true
, пользователи могут выбрать тот тип документа для совместного использования по iChat Theater. Значение по умолчанию false
.
Например, Перечисление 1 показывает фрагмент информационного списка свойств, идентифицирующего все документы типа xyz
как потенциальное аудио/источники видеосигнала. Это показывает, что приложение способно к открытию, просмотру и совместному использованию по документам iChat Theater типа xyz
.
Не все типы документов, поддерживаемые приложением, должны быть аудио/источниками видеосигнала. Добавьте LSCanProvideIMVideoDataSource
ключ, устанавливая значение в true
, только для тех типов документов, которые могут быть аудио/источниками видеосигнала.
Перечисление 1 , Разрешающее основанное на документе приложение
<?xml version="1.0" encoding="UTF-8"?> |
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> |
<plist version="1.0"> |
<dict> |
<key>CFBundleDevelopmentRegion</key> |
<string>English</string> |
<key>CFBundleDocumentTypes</key> |
<array> |
<dict> |
<key>CFBundleTypeExtensions</key> |
<array> |
<string>xyz</string> |
</array> |
<key>CFBundleTypeIconFile</key> |
<string>KeyDocument</string> |
<key>CFBundleTypeName</key> |
<string>BGDocumentTypeShow</string> |
<key>CFBundleTypeRole</key> |
<string>Editor</string> |
<key>LSCanProvideIMVideoDataSource</key> |
<true/> |
<key>LSTypeIsPackage</key> |
<true/> |
<key>NSDocumentClass</key> |
<string>BGDocument</string> |
</dict> |
... |
</array> |
... |
</dict> |
</plist> |
Регистрация приложений недокумента
Если приложение не имеет никаких документов, но тем не менее способно к совместному использованию аудио/видеоконтента по iChat Theater, вставьте LSCanProvideIMVideoDataSource
Булев ключ на верхнем уровне информационного списка свойств.
Например, Перечисление 2 показывает информационный список свойств для приложения под названием StarViewer, представляющий представление ночного неба. Информационный список свойств устанавливает LSCanProvideIMVideoDataSource
ключ к true
позволить пользователям выбирать StarViewer из iChat Theater.
Перечисление 2 , Разрешающее не документ, базировало приложение
<?xml version="1.0" encoding="UTF-8"?> |
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> |
<plist version="1.0"> |
<dict> |
<key>CFBundleDevelopmentRegion</key> |
<string>English</string> |
<key>CFBundleExecutable</key> |
<string>StarViewer</string> |
<key>CFBundleGetInfoString</key> |
<string>1.0, Copyright 2007 My Company Inc.</string> |
<key>CFBundleIconFile</key> |
<string>StarViewer</string> |
<key>CFBundleIdentifier</key> |
<string>com.mycompany.StarViewer</string> |
<key>LSCanProvideIMVideoDataSource</key> |
<true/> |
<key>CFBundleInfoDictionaryVersion</key> |
<string>1.0</string> |
<key>CFBundleName</key> |
<string>StarViewer</string> |
<key>CFBundlePackageType</key> |
<string>APPL</string> |
<key>CFBundleShortVersionString</key> |
<string>1.0</string> |
<key>CFBundleSignature</key> |
<string>star</string> |
<key>CFBundleVersion</key> |
<string>118</string> |
<key>LSMinimumSystemVersion</key> |
<string>10.5.0</string> |
<key>LSRequiresNativeExecution</key> |
<true/> |
<key>NSMainNibFile</key> |
<string>MainMenu</string> |
<key>NSPrincipalClass</key> |
<string>NSApplication</string> |
</dict> |
</plist> |
Совместное использование Аудио/Видеоконтента
Когда приложение или документ выбраны пользователем для совместного использования по iChat Theater, состояние связанного приложения совместно использовало IMAVManager
возразите изменениям в IMAVRequested
. Приложения должны наблюдать IMAVManagerStateChangedNotification
уведомление для обработки этого события.
Для ответа на пользовательский запрос основанные на документе приложения должны вызвать URLToShare
метод, чтобы получить выбранный файл и начать совместно использовать его содержание. Обратите внимание на то, что iChat открывает использование документа Launch Services, таким образом, приложение не должно запускать сеанс, пока документ не закончен, загрузившись.
Основанные на документе приложения должны также наблюдать IMAVManagerURLToShareChangedNotification
уведомление, которое будет уведомлено, когда пользователь выбирает другой документ доле. Когда это уведомление будет отправлено, вызовите URLToShare
метод снова для получения нового файла. Приложения должны просто использовать setVideoDataSource:
метод для изменения содержания, не останавливаясь и запуская сеанс.
Приложения, не имеющие документов просто, начинают совместно использовать свое содержание когда состояние совместно используемого IMAVManager
возразите изменениям в IMAVRequested
.