Russian Qt Forum
Ноябрь 22, 2024, 07:51 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: LSSetDefaultRoleHandlerForContentType  (Прочитано 2898 раз)
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« : Ноябрь 07, 2020, 11:38 »

Добрый день

Цитировать
OSStatusLSSetDefaultRoleHandlerForContentType(
   CFStringRef inContentType,
   LSRolesMask inRole,
   CFStringRef inHandlerBundleID );

С самой ф-цией все ясно, она задает какое приложение (inHandlerBundleID) откроет какой файл (inContentType). Но inHandlerBundleID - это строка (напр "com.mycompany.myapp") которая быть уникальной совсем не обязана. Это соответствует ситуации когда на машине неск версий одного приложения, и сносить все старые юзер не желает. Как задать конкретный Bundle (из которого я выполняюсь) ?

В общем, по классике
Цитировать
Функций не нашел
Улыбающийся

Спасибо
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #1 : Ноябрь 09, 2020, 14:09 »

предварительный вызов LSRegisterURL() с параметром true не помогает?
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #2 : Ноябрь 09, 2020, 15:26 »

Пере-регистрировал всех
Цитировать
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -v -kill -seed -domain system -domain network -domain local -domain user
И default стал последней версией.

Как задать конкретный Bundle (из которого я выполняюсь) ?
Видимо для одинаковых bundleID - никак, это "версии", с ними OSX разбирается сам

предварительный вызов LSRegisterURL() с параметром true не помогает?
Нет, да и с какой стати, приложение регистрируется автоматом 
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #3 : Ноябрь 09, 2020, 15:46 »

предварительный вызов LSRegisterURL() с параметром true не помогает?
Нет, да и с какой стати, приложение регистрируется автоматом 
зачем тогда эта функция существует?
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #4 : Ноябрь 10, 2020, 10:58 »

зачем тогда эта функция существует?
Не задавался этим вопросом. Ну может зарегистрировать приложение не запуская  его (догадки)
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.047 секунд. Запросов: 23.