Чтобы зарегистрировать новое расширение файла в приложении, используйте следующую команду по умолчанию.
Замените PUT_FILE_EXTENSION_HERE_WITHOUT_PERIOD расширением файла, то есть txt.
Замените org.category.program на имя com / org вашей программы, например com.apple.itunes.
$ defaults write com.apple.LaunchServices LSHandlers -array-add \
"<dict><key>LSHandlerContentTag</key>
<string>PUT_FILE_EXTENSION_HERE_WITHOUT_PERIOD</string><key>LSHandlerContentTagClass</key>
<string>public.filename-extension</string><key>LSHandlerRoleAll</key>
<string>org.category.program</string></dict>"
После того, как вы добавили расширение файла к службам запуска, необходимо перезапустить демон служб запуска, чтобы он перечитал файл конфигурации.
Вы можете запустить приведенную ниже команду, чтобы перезапустить запускаемые службы, или просто перезагрузить компьютер. Вход / выход из системы тоже может сделать это, но я не пробовал.
$ /System/Library/Frameworks/CoreServices.framework/Versions/A/Framework/LaunchServices.framework/Versions/A/Support/lsregister -kill -domain local -domain system -domain user
Здесь можно найти описание ключа CFBundleDocumentTypes Info.plist:
-K