Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.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
Macos 使用具有不同捆绑包标识符的Sparkle更新.app_Macos_Sparkle_Bundle Identifier - Fatal编程技术网

Macos 使用具有不同捆绑包标识符的Sparkle更新.app

Macos 使用具有不同捆绑包标识符的Sparkle更新.app,macos,sparkle,bundle-identifier,Macos,Sparkle,Bundle Identifier,我正在使用将应用程序从0.9.2更新为1.0.0 在新的更新中,我将MyApp.app的CFBundleIdentifier从com.MyCompany.MyApp更改为au.com.MyCompany.MyApp 当我测试下载此更新时(通过内置于MyApp.app的Sparkle),它会下载更新,然后给我一个包含以下消息的窗口: 提取存档文件时出错。请稍后再试 除了让用户重新安装应用程序外,还有其他方法让Sparkle识别旧的CbundleIdentifier并将其更新为新的吗?如果使用.dm

我正在使用将应用程序从
0.9.2
更新为
1.0.0

在新的更新中,我将
MyApp.app
CFBundleIdentifier
com.MyCompany.MyApp
更改为
au.com.MyCompany.MyApp

当我测试下载此更新时(通过内置于MyApp.app的Sparkle),它会下载更新,然后给我一个包含以下消息的窗口:

提取存档文件时出错。请稍后再试


除了让用户重新安装应用程序外,还有其他方法让Sparkle识别旧的
CbundleIdentifier
并将其更新为新的吗?

如果使用
.dmg
进行更新,则无法更改标识符

带有DSA签名的
.zip
可能有效


如果您使用
.pkg
(或
.sparkle\u guided.pkg
)交付更新,您可以随心所欲。

还没有,目前还没有发布任何修复程序。唯一可行的解决办法(这不是最好的)是在旧应用程序中包含一条消息和链接,以重新下载您的软件(或者通过使用旧标识符的更新,或者通过某种全局消息系统(如果您有)。之后,继续进行更改,并使用新的
CFBundleIdentifier
构建应用程序。我猜出于安全原因,您无法将应用程序更新为新的捆绑包标识符-我不希望它很快就能实现,如果有的话。只是在Sparkle 1.21.3中尝试了一下-不再起作用。