9

Macアプリのサンドボックスについて読んでいて、ユーザーがNSOpenPanelまたはNSSavePanelでフォルダーを選択するとどうなるのか疑問に思っています。「<ahref="http://developer.apple.com/library/mac/#documentation/Security/Conceptual/AppSandboxDesignGuide/AppSandboxInDepth/AppSandboxInDepth.html" rel = "noreferrer"> App Sandbox Design Guide」には、次の情報が記載されています。例:

アプリのユーザーがファイルまたはフォルダーを使用することを指定すると、システムは関連付けられたパスをアプリのサンドボックスに追加します。たとえば、ユーザーが~/DocumentsフォルダーをアプリのDockタイル(またはアプリのFinderアイコン、またはアプリの開いているウィンドウ)にドラッグして、そのフォルダーを使用することを示したとします。それに応じて、システムは~/Documentsフォルダー、そのコンテンツ、およびそのサブフォルダーをアプリで使用できるようにします。

ここでの「コンテンツ」が何を意味するのかは私にはわかりません。これは、それらのファイルの内容を読み取ることができずに、フォルダー内のファイルの表示に限定されていますか?または、これは単に、アプリがDocumentsフォルダー内にあるすべてのファイルを(再帰的に)読み取ることができることを意味しますか(たとえば、との両方~/Documents/Foo.txtを読み取ることができます~/Documents/Bar/Baz.txt)?また、書き込み操作(既存のファイルへの書き込み、ファイルの削除、または新しいファイルやフォルダーの作成)についてはどうでしょうか。

4

1 に答える 1

9

アプリは、選択したフォルダーとそのサブフォルダー内のすべてのファイルを読み取ることができます。新しいファイルと既存のファイルの上書きの両方について、書き込みについても同じことが言えます。新しいフォルダの作成、フォルダの範囲内でのフォルダの移動(または必要な権限を持つ他のフォルダ)と同様に、削除も可能です。

簡単に言えば、このフォルダーとそのサブフォルダー内で好きなことを自由に行うことができます。

警告:保存パネルが開いてDocumentsターゲットとして表示される場合は、である可能性があります~/Library/Containers/<app signature>/Data/Documents。場所を変更することはできますが、ファイルが正常に保存された後、初めて困惑しましたが、に見つかりませんでした~/Documents

于 2012-10-07T18:21:51.930 に答える