Sparkle Framework: как изменить имя приложения?

У меня есть приложение Какао, для которого я изменил название. Я использую отличную Sparkle Framework ( http://sparkle-project.org/) для предоставления обновлений своим пользователям.

К сожалению, похоже, что Sparkle не поддерживает изменения имени приложения из коробки. Я надеюсь, что есть какой-то взлом, чтобы я мог предоставить пользователям, у которых уже есть приложение, обновление до недавно названной версии.

1 ответ

Решение

Я не уверен, что это возможно, используя только ванильный каркас Sparkle. Причина в том, что имя файла приложения может отличаться от CFBundleName определяется в Info.plist. Sparkle должен убедиться, что он обновляет правильную структуру файловой системы, независимо от того, как она может быть названа.

Рассмотрим следующий сценарий:

  1. Пользователь загружает и устанавливает Adium.app чья CFBundleName является Adium,
  2. Пользователь переименовывает его в Instant Messenger.app,
  3. Sparkle загружает и устанавливает обновление.
  4. После обновления имя файла только что обновленного приложения остается Instant Messenger.app и CFBundleName все еще Adium,

Вы можете либо надеяться, что тот факт, что имя вашего приложения изменилось в строке меню, побудит пользователя переименовать его самостоятельно, либо вы можете использовать некоторые хитрости при запуске приложения, чтобы закрыть приложение, переименовать его и перезапустить, если оно определенно критерии выполнены. Хотя я не рекомендую последнее, пользователям не нравятся приложения, решающие перемещаться без разрешения.

Другие вопросы по тегам