2017-04-15 2 views
0

私はアプリを開発しており、/User/<username>/Library/Containersフォルダにアクセスしてデータを読みたいと思っています。Sandboxの/ User/Library/Container/<identifier>へのアクセス

ファイルを反復処理するときに、その特定の場所にNSOpenPanelを開くまで、データは返されません。アプリがサンドボックス化されているため、その動作が期待されます。

「AppManager」(サンドボックス、App Storeで利用可能)と呼ばれる別のアプリがインストールされています。アプリはそのフォルダからデータを読み込みますが、/ApplicationsフォルダのNSOpenPanelを開く必要があります。

私はFileManagerメソッドURLForDirectory:inDomain:appropriateForURL:create:error:について読んでいますが、これは良い出発点ですが、どういうわけかこのメソッドは利用できません。

サンドボックスアプリで/User/<username>/Library/ContainersにアクセスするにはどうすればNSOpenPanelを開くことなく可能ですか? NSOpenPanelを1つだけ開いて、複数のディレクトリにアクセスできますか?これはセキュリティ対策であるApp Storeのアプリはそれらに属していないゴミデータをしないように - あなたはあなたのアプリケーションにNSOpenPanelsまたはドラッグするディレクトリなしでは何もできない

よろしく、 サシャ

答えて

2

ドライブ全体にアクセスするには、/NSOpenPanelに選択するようにプログラムを確認しました。再度、あなたが過去のレビューを取得しないかもしれないので、本当に必要なものを求めてください。いくつかのアプリは、ユーザーにNSOpenPanelのディレクトリを要求する別個のUIを持っているだけで、あなたが行うまで続行しません。

+0

こんにちは、私はまた、この方法をお勧めします。私は、指定されたアプリケーションがそれをどうやって行うのか不思議に思っていた。それは/アプリケーションを要求し、/ Users//Libraryにアクセスします。 –

+1

アプリが古い(プリサンドボックス化されている)のかもしれないし、独自のコンテナを読み込んでいるだけかもしれません(常にアクセス権があります) – Alistra

+0

最新のアップデートは昨年リリースされたのでサンドボックス化されていますとにかくダイアログ)、アプリケーションはそれらのディレクトリからファイルを削除するので、自身のコンテナの/ Library /の外部に完全にアクセスできます。かなり奇妙な。 –