Я уже некоторое время пытаюсь просеять информацию, и у меня возникают проблемы с определением того, что все еще актуально. Также кажется, что по какой-то причине информации по этому вопросу меньше, чем должно быть.
Я работаю над приложением, которое распространяется для macOS. Я хотел бы связать пользовательское расширение файла с моим приложением. Я хотел бы, чтобы пользователь мог дважды щелкнуть один из файлов и открыть его приложением. Мне достаточно легко выбрать приложение для открытия файлов, но я не могу понять, как получить имя файла для открытого файла.
Единственное, что я нашел до сих пор, это создать приложение из AppleScript. Затем AppleScript может проанализировать аргументы и вызвать с ними основное приложение. У меня есть две проблемы с этим подходом.
Во-первых, что произойдет, если пользователь изменит его и выберет приложение напрямую? я так понял он просто не работает? Есть ли способ обойти это?
Во-вторых, как мне связать приложение автоматически? Я нашел информацию о CFBundleTypeExtensions, но позже обнаружил, что это устарело. Я нашел некоторую информацию о UTI и Launch Services. Имеет смысл добавить UTI в файл plist и запустить команду lsregister. Как бы вы сделали это автоматически? Пользователь устанавливает приложение с помощью dmg, в какой момент я могу запустить команду lsregister?