2

さて、私はこの質問をする前に考えました。なぜなら、最初は「アーカイブ内に書き込むことは可能か」という古くからの質問のように聞こえるからです。私はMacOSXを初めて使用しますが、アプリケーションは.app拡張子と特定のファイル構造を持つ単なるフォルダであることを読みました。それで、このフォルダの中に書くことができるかどうか、そして可能であればどのように書くことができるか知りたいです。

私が尋ねる理由は、私のJavaプログラムでは、Windowsでは、programsディレクトリ(プログラムファイルの原則)にあるいくつかのファイルを読み取りますが、OSXアプリケーションでは(明らかな)ファイルを作成しないように見えるためです。私は彼らがそれらを.appフォルダに保存しなければならないと思いました!間違っていると思ったら、アプリケーションが作成したファイルを通常どこに保存しているか知りたいのですが。

前もって感謝します

編集私がこの質問をする理由は、アプリケーションがファイルを残してしまうとネガティブフィードバックを恐れるので、本当に有益な意見が必要だからです。要するに、私のアプリケーションには構成ファイルが必要ですが、ユーザーが独自の「データベース」を作成することもできます。これらをユーザーのドキュメントフォルダーに保存することを考えていますが、アプリが削除されたときにこれらのファイルを削除するか、そのままにしておくかがわかりません。明らかに、それらを削除するにはパッケージを作成する必要があります-これはユーザーにとって余分な手順になるだけなので、どう思いますか?...そうです、アプリケーションはユーザーが有効なシリアルキーを入力するとライセンスファイルを生成します--Windowsの場合、情報はレジストリに保存されますが、Macの場合、この情報を含むファイルをどこに置くかわかりません。どんな助けでも大歓迎です。

4

2 に答える 2

4

アプリバンドルに書き込むべきではありません。順不同のいくつかの理由:

  • ユーザーには、書き込み権限がない可能性があります。実際、アプリバンドルは読み取り専用メディア上に置くことができます。

  • アプリバンドルはユーザーに固有のものではありません。共有の場所にあり、システム上のすべてのユーザーが使用している可能性があります。

  • アプリはコード署名する必要があり、アプリの内部を変更すると署名が無効になる可能性があります。

ユーザーデータを配置する適切な場所は、ユーザーのDocumentsフォルダー、製品固有のサブディレクトリ〜/ Library / Application Support(または、システム全体の場合は/ Library / Application Support)、または場所のいずれかです。ユーザーが選択するもの。

ユーザーがアプリを削除しても、ファイルが残される心配はありません。それはかなり一般的であり、望ましいことですらあります。たとえば、新しいバージョンをインストールする前に古いバージョンを削除した場合、新しいバージョンで古いバージョンから残っている既存のファイルを検索する必要があります。一般的な規則に従うと、ユーザーはクリーンアップの方法を知ることができます(または、AppZapperのようなものがクリーンアップできるようになります)。

于 2012-04-15T10:08:54.910 に答える
2

私は自分でこの質問の答えを探していますが、私はあなたの問題を解決できると思います。私は自分で「Windows」Javaアプリケーションを移植しました。私は本当のMacの専門家ではありませんが、このトピックに関する私の調査では、次の答えが得られました。

*.appフォルダをプログラムのインストールパッケージとして理解しています。このフォルダの内部はユーザーに表示されません。彼にとって、それは単にアプリです。クイックグーグル検索は私に次のヒントを与えました:

http://developer.apple.com/library/mac/#qa/qa1170/_index.html

アプリケーションデータと一時ファイルをMacに配置する場所

多分これは役立ちます

于 2012-04-13T07:45:07.650 に答える