2012-06-07 48 views
3

對於我正在使用的應用程序,我正在使用CGEventPost發佈一些關鍵事件,並且我注意到它已停止使用沙箱功能,即使打開了「啓用Access輔助設備」系統首選項。Mac App Store沙盒軟件可以使用CGEventPost嗎?

有沒有權利允許使用CGEventPost?或者,還有另一種方式可以將提交給Mac App Store的應用程序發佈關鍵事件?

回答

6

Mac App Store沙盒軟件可以使用CGEventPost嗎?

是否有CGEventPost的權利?或者有什麼方法可以通過提交給Mac App Store的應用程序發佈關鍵事件?

號如果你看一下開發者論壇,蘋果已經說得很清楚,他們將永遠不會啓用此的權利,因爲它允許任何應用程序,以逃避沙箱中的公然明顯的方法。

如果你有一些更具體的需求可以證明(不是「發佈一些關鍵事件」,而是「讓iPhoto做到XXX,據我所知只能通過發佈事件YYY來完成」),提交錯誤報告,並在開發論壇上發佈主題。

這將做兩件事情:

  1. 有人在蘋果可能會提出一個解決辦法 - 可能是一個私人沒有其他人可以告訴你,和/或一個,一般是不允許在App Store,但將被接受,如果你被告知使用它。
  2. 它增加了蘋果發明一些更好的方式來做你想要的未來的機會。
2

老問題,但接受的答案是錯誤的。 Mac App Store中有應用程序正在使用CGEventPost來模擬事件。例如,應用程序「遠程鼠標」和「移動鼠標服務器」就是這樣做的。他們可以將輸入發送到任何其他應用程序,並根據這些應用程序中的符號明確使用CGEventPost-function。我想知道他們是如何做到的。

+3

如果你下載了兩個你提到的應用程序,你會發現它們不是沙盒。我假設他們在Sandboxing執行之前將它們提交給蘋果,並且自那時以來剛剛提交了錯誤修復(這是每個Apple的沙箱規則允許的)。因此,我假設他們正在使用CGEventPost - Mac App Store上的任何新應用程序都不允許這樣做。爲了以防萬一,我已經通過電子郵件發送了創作者,看看他們在做什麼。 – xizor

+0

感謝您的澄清。因此,所有應用程序的規則都不一樣。 – superg

+1

直到2012年6月1日才需要沙箱。在該日期之後提交的任何應用都必須使用沙箱。在該日期之前的任何應用程序都可以在非沙盒模式下保留在App Store上,但只能將錯誤修復提交給Apple。他們不允許進行任何功能更新。 – xizor

相關問題