有没有办法在不被MacOS警告的情况下,使用NSSavePanel保存一个“.”文件?

6

我正在处理一个cocoa项目,这个项目使用了偏好设置菜单,可以将一组偏好设置保存为“。”文件(像.rvmrc或.vimrc这样的隐藏文件)。问题在于,当我调用NSSavePanel并点击保存后,系统会弹出提醒我“.”是系统保留关键字,这不太好。

有没有什么方法可以防止操作系统弹出这个提示框?

谢谢!


我删除了“Ruby”标签;这与Ruby无关。 - Chris Gregg
"."是整个文件名还是文件名以"."开头? - Lenik
哦,抱歉,我的意思是像.rvmrc或.vimperatorrc这样的点文件。我想那不太清楚,抱歉。 - Ziggy
1个回答

3

您可以创建一个NSSavePanel的子类或者分类,然后覆盖

-[NSSavePanel _legalNameCheck:]

据我所知,该例程只是检查点名称。

2
值得注意的是,通过类别覆盖框架方法既不被推荐,也不能保证是确定性的。此外,以下划线开头命名的方法是私有方法,因此覆盖“_legalNameCheck:”可能会阻止应用程序在Mac App Store上被接受。 - user557219
是的,抱歉,应该注意到这一点。这是一个内部方法,可能无法在 OS X 更新之间继续工作。另外,如果你的目标是应用商店,那么这也可能是一个问题。 - Ken Aspeslagh
这两个都是问题啊... 这是否意味着被 Mac 商店接受的要求之一是你的应用程序必须提醒人们 "." 文件的重要性?我正在开发的应用程序是为程序员而设计的,他们永远不会从这个警告中获利... - Ziggy
如果你正在开发工具,那么不必费心在应用商店上发布。开发者知道如何“老派地”找到应用程序 ;) - Ken Aspeslagh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接