2012-01-04 40 views
23

對於在Mac App Store之外發布Mac應用程序的用戶,您打算如何支持更新和沙盒?我猜目前大多數人的答案是他們不是,但我希望最終非MAS應用程序可以像MAS應用程序一樣進行沙盒處理。您是否可以使用Sparkle或類似的軟件更新沙盒Mac應用程序?

要使用Sparkle,您的應用程序需要可以授予的網絡訪問權限,以及在應用程序中覆蓋自身的能力。目前,您可以使用com.apple.security.temporary-exception.files.absolute-path.read-write權限執行此操作,但這不是一個好的解決方案。它可能會消失,即使它沒有,如果你打算給它提供完整的文件系統讀寫訪問權限和網絡訪問權限,那麼沙盒應用程序就沒有什麼意義了。

有沒有人已經走過這條路,找到了一個好的解決方案?我問,因爲我試圖保持我的MAS構建和我的非MAS構建儘可能相同,我目前正在考慮讓我的MAS構建沙盒,而我的非MAS構建不了。

+1

許多沙箱相關的頭痛開發者之一! – sbooth 2012-01-07 15:02:05

回答

4

@chockenberry on twitter,@andy_matuschak responded開始的對話中,有利於爲Sparkle創建XPC服務。

我有一個pull request open on GitHub實際上創建XPC服務。希望這將很快融入Sparkle。

+0

我以前的答案包含建議創建一個臨時例外,但這不會在沙箱下工作。 – wbyoung 2012-03-19 17:46:53

+0

現在的狀態如何?你們是否讓Sparkle完全兼容沙盒?你是否能夠解決安迪的所有安全問題(在GitHub的討論中)?謝謝。 – 2012-12-17 22:43:10

+2

仍然沒有拉進Sparkle。我們現在只運送Mac App Store,所以我不會爲此工作。儘管如此,請隨時從該請求中繼續。 – wbyoung 2012-12-18 20:53:16

1

我們的應用程序實際上有兩個版本:一個用於我們自己的網站,另一個用於應用商店。

我推薦使用Sam Deane的方法,您可以在his GitHub repository中找到。它適合我們。

+0

我獲得的榮譽比我在該版本中獲得的更多 - 我大多隻是將其他人完成的一些工作放在一起。 – 2015-05-28 18:51:44

+0

你想要的分支是https://github.com/samdeane/Sparkle/tree/sandboxing。 – 2015-05-28 18:56:52

+0

fwiw,信貸應該去惠特尼楊和埃裏克Aderstedt我認爲。 – 2015-05-28 19:28:49

0

Not yet

從1.15開始Sparkle不支持沙盒,而浮動的the patch有一個漏洞,允許完全繞過沙盒安全。

相關問題