[英]Mac app sandboxing and forkpty()
我希望對應用進行沙箱處理,以符合Mac App Store 3月1日的沙箱要求。 我的應用程序包含一個內置的終端仿真器,該仿真器使用forkpty()
調用在偽tty環境中啟動進程。 不幸的是,盡管fork()
調用工作得很好,但此調用在沙箱下失敗,並顯示錯誤“不允許操作”。 大概forkpty()
調用需要對/ dev /目錄的讀/寫訪問權限才能創建偽tty(根據手冊頁)。 我嘗試添加具有對/的讀/寫訪問權限的臨時沙盒授權(com.apple.security.temporary-exception.files.absolute-path.read-write),現在我確實可以在文件系統,但是forkpty()
調用仍然失敗,並顯示相同的錯誤。 有誰知道我如何讓forkpty()
在沙盒下工作?
我的應用程序是帶有內置終端仿真器和文件瀏覽器的編程文本編輯器,因此從本質上講,它需要訪問整個文件系統。 除了forkpty()
問題,這種臨時權利似乎forkpty()
我的需求。 但是,Apple是否會接受具有如此寬松的臨時例外權利的應用程序?
在此先感謝大家。 我真的希望我可以啟動並運行此沙箱,因此我將繼續通過App Store分發我的應用程序。
在沙盒應用程序中不可能實現有用的終端模擬器-即使在為PTY設備添加了權利之后,shell最終仍與該應用程序位於同一沙盒中,從而阻止了它的大量工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.