我们有一个OSX桌面软件,以pkg安装程序包的形式分发到Mac App Store外部。我们想要做的是在安装期间安装 Safari扩展程序以及桌面应用程序 。
我们已经完成的步骤:
safariextz
包创建已准备就绪。pkgbuild或productbuild是否可以实现这一目标?
答案 0 :(得分:3)
如果您的扩展程序为Safari App Extension,Safari应自动检测扩展程序(并在 Safari &gt; 偏好设置&gt; 扩展程序<中显示) / em>)只要:
PlugIns
文件夹)。/Applications
。但是,扩展名默认为禁用,只有用户可以通过Safari偏好设置启用它。 (虽然有query its state和open the Safari preferences for the extension的API,但没有启用Safari App Extension的API。)
如果您的扩展程序是使用older method using Safari Extension Builder创建的(我认为是,因为您提到了.safariextz
),那么很遗憾only two permitted methods of installing it are:
苹果警告说:
- 单击“扩展程序库”中的“安装”按钮。
- 在Safari中打开(
醇>.safariextz
)文件。 (Safari将提示用户确认安装。)
重要提示:这些是唯一允许安装Safari扩展程序的方法。您不应尝试以任何其他方式安装您的扩展程序。
事实上,他们已采取措施,难以使用创意方法以任何其他方式安装扩展程序。 (可能会阻止恶意应用程序/安装程序在用户不知情的情况下强行扩展用户。)
也就是说,您可以将现有的扩展程序转换为Safari App扩展程序,而无需太多工作,you are strongly encouraged by Apple to do so:
重要提示:自macOS 10.11.5上的Safari 10.0起,Safari扩展程序在Xcode中创建为app扩展程序。新扩展包含在包含的macOS应用程序中,并在App Store上分发和销售。如果您使用本文档中描述的方法创建了扩展,请考虑转换到新的扩展模型。
(注意:您不必通过Mac App Store分发您的应用程序以提供Safari App扩展程序 - 开发者ID签名的应用程序也应该有效。)
这将为您提供更加简单的Safari App Extensions安装流程的好处。