我是可可编程的新手。关于在部署后更新应用程序,我正在考虑 sparkle。我知道它可以更新单个文件。
但是,如果我们有一个完整的安装程序包(something.pkg)作为更新而不是单个文件。因为我们将在发布更新后发布安装程序 (.pkg)。它可以下载并运行包以便包处理更新安装吗?
我是可可编程的新手。关于在部署后更新应用程序,我正在考虑 sparkle。我知道它可以更新单个文件。
但是,如果我们有一个完整的安装程序包(something.pkg)作为更新而不是单个文件。因为我们将在发布更新后发布安装程序 (.pkg)。它可以下载并运行包以便包处理更新安装吗?
是的。它在首页上说:
Sparkle 可以为更复杂的产品安装 .pkg 文件。
这是“1.5 中的新功能”之一。没有实际的 1.5 版本,而且很可能永远不会;您要么使用最新的 beta 1.5b6,要么(通常更好)使用 github 上的源代码。
详细信息没有记录,但简短版本在Publishing an Update中:
- 归档您的应用程序。任何一个:
- 将您的 .app 副本(与要替换的版本同名)放在 .zip、.tar.gz 或 .tar.bz2 中。如果您以 .dmg 的形式分发 .app,请将 .dmg 压缩。
- 创建一个与您的应用程序同名的安装程序 .pkg 并将该 .pkg 放入上述存档格式之一。
如果您想做任何不太适合简单案例的事情,您需要查看源代码。
如果要指定自定义安装程序对象,只需使用SUPackageInstaller
代替SUInstaller
or SUPlainInstaller
。
否则,请查看其中的代码SUInstaller
以了解其作用。基本上,它会查看它下载和提取的文件,并SUPackageInstaller
在找到名称(减去扩展名)与应用程序/捆绑包名称匹配的 .pkg(或 .mpkg)文件时使用。