4

我有一个已更改名称的 Cocoa 应用程序。我正在使用出色的 Sparkle 框架 ( http://sparkle-project.org ) 为我的用户提供更新。

不幸的是,Sparkle 似乎不支持开箱即用的应用程序名称更改。我希望有一些技巧,以便我可以为已经拥有该应用程序的用户提供对新命名版本的更新。

4

1 回答 1

4

我不确定这是否可能仅使用 vanilla Sparkle 框架。原因是应用程序的文件名可能与CFBundleNameInfo.plist 中定义的不同。Sparkle 需要确保它正在更新正确的文件系统结构,无论它可能被命名为什么。

考虑以下场景:

  1. 用户下载并Adium.app安装.CFBundleNameAdium
  2. 用户将其重命名为Instant Messenger.app.
  3. Sparkle 下载并安装更新。
  4. 更新后,新更新的应用的文件名仍然是Instant Messenger.app,CFBundleName 仍然是Adium.

您可以希望您的应用程序名称在菜单栏中已更改的事实会提示用户自己重命名它,或者您可以在应用程序启动时使用一些技巧来退出应用程序,重命名它,然后在确定时重新启动它标准得到满足。不过我不推荐后者,用户不喜欢应用程序决定在未经许可的情况下自行移动。

于 2010-01-01T23:55:35.833 回答