簡體   English   中英

如何使用沙盒應用中用戶選擇的文件內的路徑打開文件

[英]How to open file using path inside user-selected file in sandboxed app

我正在嘗試在我的macOS沙盒應用程序中編寫第三方文件格式的導入。 用戶打開的文件是一個Json文檔,在此文檔中是一個指向某些必需外部數據文件的URL。 在這種情況下,它是本地二進制數據文件的相對路徑。 我可以創建一個這個文件的絕對路徑,但我不能用[NSData datawithcontentsoffile:path]打開它,因為我的應用程序是沙盒(在macOS App Store上)。 如果我關閉沙箱,那么我可以打開外部二進制文件。

在沙盒應用程序中打開外部文件有哪些好的策略? 我正在考慮打開第二個nsopenpanel並要求用戶選擇其他文件,但這看起來很尷尬。

沙盒應用程序與我無法想到的只有一個區別 - 如果應用程序是沙盒,則主目錄指向應用程序的沙箱,否則它指向文件系統上的用戶主目錄。 因此,在創建文件路徑時,請考慮使用URLForDirectory:inDomains: NSFileManager類的方法返回目錄的位置。

除了打開第二個nsopenpanel並要求用戶選擇包含json文檔的文件夾之外,我找不到任何解決方案。 一旦我獲得了文件夾的權限,我就可以打開json文檔中給出的任何文件,只要它位於json文檔的相同文件夾或子文件夾中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM