Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocoa Sparkle框架:如何更改应用程序名称?_Cocoa_Sparkle - Fatal编程技术网

Cocoa Sparkle框架:如何更改应用程序名称?

Cocoa Sparkle框架:如何更改应用程序名称?,cocoa,sparkle,Cocoa,Sparkle,我有一个Cocoa应用程序,我已经更改了它的名称。我正在使用优秀的Sparkle框架()为我的用户提供更新 不幸的是,Sparkle似乎不支持开箱即用的应用程序名称更改。我希望有一些黑客,这样我就可以为已经拥有该应用的用户提供新命名版本的更新。我不确定仅使用vanilla Sparkle框架是否可行。原因是应用程序的文件名可能不同于Info.plist中定义的CFBundleName。Sparkle需要确保它正在更新正确的文件系统结构,不管它的名称是什么 考虑以下场景: 用户下载并安装Adium

我有一个Cocoa应用程序,我已经更改了它的名称。我正在使用优秀的Sparkle框架()为我的用户提供更新


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

我不确定仅使用vanilla Sparkle框架是否可行。原因是应用程序的文件名可能不同于Info.plist中定义的
CFBundleName
。Sparkle需要确保它正在更新正确的文件系统结构,不管它的名称是什么

考虑以下场景:

  • 用户下载并安装
    Adium.app
    ,其
    CFBundleName
    Adium
  • 用户将其重命名为
    Instant Messenger.app
  • Sparkle下载并安装更新
  • 更新后,新更新的应用程序的文件名仍然是
    Instant Messenger.app
    ,CFBundleName仍然是
    Adium

  • 您可以希望您的应用程序名称在菜单栏中发生了更改,这将提示用户自己对其进行重命名,或者您可以在应用程序启动时使用一些技巧退出应用程序,对其进行重命名,然后在满足某些条件的情况下重新启动它。但我不推荐后者,用户不喜欢应用程序在未经许可的情况下自行移动。

    您找到好的解决方案了吗?