所以我一直撕裂我的頭髮,這... ...助手應用程序沙箱和安全範圍的書籤
我有一個主要的應用程序,和助手應用程序。兩者都是沙盒,並使用應用程序組共享數據。我通過NSXPCConnection與幫助程序交談。我使用SMLoginItemSetEnabled將幫助程序應用程序設置爲登錄項目。當用戶激活後,助手應用程序將作爲守護進程運行。
這一切都很好。 問題在於安全範圍的書籤。
幫助程序應用程序需要訪問系統文件。當我需要授予對新位置的訪問權時,這是由主應用程序完成的,通過NSXPCConnection打開助手並打開使用此類的NSOpenPanel:(https://github.com/leighmcculloch/AppSandboxFileAccess) 這一切似乎也起作用....
該類告訴我文件訪問權已被授予,但是我也在控制檯中收到沙盒違例。
Sandbox: com.my.app.helper deny file-read-data
我在助手應用程序正確的權利:
com.apple.security.files.user-selected.read-write
com.apple.security.files.bookmarks.app-scope
我也讀訪問後臺線程的書籤時,有人有問題,所以我想包裝相關的書籤所有呼叫:
dispatch_sync(dispatch_get_main_queue(), ^{ });
還是沒有喜樂。 任何幫助,非常感謝。
**該沙箱是區域噩夢使用.... 我所有的應用程序所做的是刪除一些系統文件,無需用戶干預。 這樣一個簡單的任務之前,沙箱....現在我需要處理loginItems,XPC ....很多頭痛。 :(
此外,我仍然得到拒絕消息,但我的應用程序確實收到完全訪問文件.... – gypsyDev 2014-12-07 02:47:33