您可以使用 Sparkle 或类似的东西更新沙盒 Mac 应用程序吗?
对于那些在 Mac App Store 之外分发 Mac 应用程序的人,您计划如何支持更新和沙箱?我猜目前大多数人的答案是否定的,但我希望最终非 MAS 应用程序可以像 MAS 应用程序一样被沙箱化。
要使用 Sparkle,您的应用程序需要网络访问权限(可以授予该权限),以及在应用程序中覆盖自身的能力。目前,您可以使用 com.apple.security.temporary-exception.files.absolute-path.read-write 权利来执行此操作,但这不是一个好的解决方案。它很可能会消失,即使它不会消失,如果您要授予应用程序完整的文件系统读写访问权限以及网络访问权限,那么对应用程序进行沙箱处理也没有什么意义。
有没有人已经沿着这条路走下去并找到了一个好的解决方案?我之所以这么问,是因为我试图让我的 MAS 构建和非 MAS 构建尽可能相同,而且我目前正在考虑将我的 MAS 构建沙盒化,而将我的非 MAS 构建不沙盒化。
For those distributing Mac apps outside the Mac App Store, how are you planning to support updating and sandboxing? I'm guessing most people's answers for the time being is that they're not, but I hope that eventually non-MAS apps could be sandboxed just like MAS apps.
To use Sparkle, your app would need network access, which could be granted, as well as the ability to overwrite itself in Applications. Currently you could do this with the com.apple.security.temporary-exception.files.absolute-path.read-write entitlement, but that's not a good solution. It will likely go away, and even if it doesn't there's little point in sandboxing an app if you're going to give it full filesystem read-write access as well as network access.
Has anyone already gone down this path and found a good solution? I ask because I try to keep my MAS build and my non-MAS build as identical as possible, and I'm currently looking at having my MAS build sandboxed and my non-MAS build not.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
在 Twitter 上 @chockenberry 发起的对话中,@andy_matuschak 积极响应为 Sparkle 创建 XPC 服务。
我有一个在 GitHub 上打开的拉取请求,它实际上创建了 XPC 服务。希望这能很快融入 Sparkle 中。
In a conversation started by @chockenberry on twitter, @andy_matuschak responded favorably to creating an XPC service for Sparkle.
I have a pull request open on GitHub that actually creates the XPC service. Hopefully, this will get incorporated into Sparkle soon.
实际上,我们的应用程序有两个版本:一种用于我们自己的网站,一种用于应用程序商店。
我建议使用 Sam Deane 的方法,您可以在他的 GitHub 存储库中找到该方法。这对我们来说效果很好。
We actually have two versions of our app: one for our own web site and one for the app store.
I recommend using Sam Deane's approach which you can find in his GitHub repository. It works well for us.
还没有。
从 1.15 开始,Sparkle 不支持沙箱,并且浮动补丁允许完全绕过沙箱安全的漏洞。
Not yet.
As of 1.15 Sparkle does not support sandboxing, and the patch that is floating around has a vulnerability that allows complete bypass of sandbox security.