目標:Mac Catalyst 的沙盒應用程式。我需要創建一個用于在外部驅動器上寫入資料的檔案。
據我了解,應該有某種對話框授予將資料寫入應用程式沙箱之外的特定位置的權限。我應該使用什么樣的對話框?
通常我遵循這個程式:在應用程式檔案目錄中創建一個檔案,然后使用[UIDocumentPickerViewController alloc] initForExportingURLs將這個檔案移出沙箱。
但是現在我需要創建一個用于在外部驅動器上寫入的檔案(不能在檔案目錄中創建檔案,因為它會超出內部存盤容量,但外部驅動器足夠大)。應該使用什么“保存檔案對話框”?
uj5u.com熱心網友回復:
好的,我找到了解決方案。
- 向 Mac Catalyst 專案添加一個插件,該插件允許使用 AppKit 功能(NSSavePanel 在 <AppKit/NSSavePanel.h> 中宣告)。如何添加此類插件的詳細說明在這里:https ://www.highcaffeinecontent.com/blog/20190607-Beyond-the-Checkbox-with-Catalyst-and-AppKit
- 在該插件中創建一個使用 NSSavePanel 的函式。
- 從主 Mac Catalyst 應用程式呼叫此插件函式。
使用這種方法可以顯示 NSSavePanel,并且所選檔案具有寫入所需的所有權限。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/496670.html
