好吧,我问这个问题,因为在第一次听起来像是古老的问题是归结于以前的想法“是有可能的存档里面写”。 我是新来的Mac OS X,但我已阅读,应用只是一个文件夹.app
扩展和特定的文件结构。 所以,我想知道是否有可能到这个文件夹里面写的,如果又如何。
我想问的原因是因为在我的Java程序,在Windows上,它读取一些文件,这些文件在程序目录(Program Files文件的原则),但在OSX上的应用程序似乎并没有创建任何文件(即是明显的) - 所以我猜,他们必须将它们存储在.app
文件夹! 如果我假设错的,我想知道在哪里的应用程序通常存储他们创造请的文件。
提前致谢
编辑全部原因,我问这个问题,是因为我怕负反馈,如果我的应用程序留下的文件后面,所以我真的需要翔实的意见。 总之,我的应用程序需要一个配置文件,但它也允许用户创建自己的“数据库”。 现在我认为我将这些存储在用户的文档文件夹,但我不知道何时该应用程序被删除我是否应该删除这些文件或刚刚离开他们。 显然,删除它们将需要我打个包 - 这将仅仅是对用户的额外的步骤,让你觉得呢......哦,是的,和应用程序生成在用户输入有效的序列密钥的许可文件? - 在Windows上的信息被存储在注册表中,但在Mac我不知道放在哪里文件,其中包含此信息! 任何帮助将非常感激。
你不应该写的应用程序包。 没有特定的顺序的一些原因:
用户可能没有权限对其进行写入操作。 事实上,应用程序包可以在只读介质。
该应用程序包是不特定的用户。 它很可能是在共享位置,并通过所有系统上的用户所使用。
应用程式,应codesigned并修改其内部很可能是无效的签名。
适当的地方放置用户数据是在用户的文档文件夹,在库/应用程序支持的〜/产品专用的子目录下(或者,如果它应该是全系统的,/库/应用程序支持),或在一个位置用户选择。
我不会太在意留下隐藏文件,如果用户删除的应用程序。 这是很常见的,甚至可取的。 例如,如果我删除安装新版本之前的旧版本,我想新版本找到旧版本遗留下来的现有文件。 如果你遵循典型的约定,用户将知道如何清理(或类似的东西AppZapper将能为他们做的话)。
我在寻找通过自己这个问题的答案,但我想我可以帮你解决问题。 我有我自己移植一个“窗口” Java应用程序。 我没有真正的Mac的专家,但我对这个课题的研究给了我如下回答:
据我所知,*的.app文件夹作为你的程序的安装包。 该文件夹的内部未示出给用户。 对他来说简直就是应用程序。 快速谷歌搜索给了我下面的提示:
http://developer.apple.com/library/mac/#qa/qa1170/_index.html
在那里把Mac上的应用程序数据文件和临时文件
也许这可以帮助