4

名前を変更した Cocoa アプリケーションがあります。私は優れた Sparkle Framework ( http://sparkle-project.org ) を使用して、ユーザーに更新を提供しています。

残念ながら、Sparkle はそのままではアプリケーション名の変更をサポートしていないようです。アプリを既に持っているユーザーに、新しく名前が付けられたバージョンへの更新を提供できるように、何らかのハックがあることを願っています。

4

1 に答える 1

4

バニラの Sparkle フレームワークだけを使用してこれが可能かどうかはわかりません。CFBundleNameこれは、アプリケーションのファイル名がInfo.plist で定義されているものと異なる可能性があるためです。Sparkle は、名前が何であれ、正しいファイル システム構造を更新していることを確認する必要があります。

次のシナリオを検討してください。

  1. Adium.appユーザーが をCFBundleNameダウンロードしてインストールしますAdium
  2. ユーザーは名前を に変更しInstant Messenger.appます。
  3. Sparkle がアップデートをダウンロードしてインストールします。
  4. 更新後、新しく更新されたアプリのファイル名はそのままInstant Messenger.appで、CFBundleName はそのままAdiumです。

メニューバーでアプリケーション名が変更されたという事実により、ユーザーが自分で名前を変更するように促されることを期待するか、アプリケーションの起動時にいくつかのトリックを引っ張ってアプリケーションを終了し、名前を変更して、特定の場合は再起動することができます。基準を満たしています。ただし、後者はお勧めしません。ユーザーは、アプリケーションが許可なく自分自身を移動することを好みません。

于 2010-01-01T23:55:35.833 に答える