MacOS X:删除应用程序时删除plist文件

MacOS X:删除应用程序时删除plist文件,macos,Macos,我正在应用程序启动时显示许可证表单,但它应该仅在应用程序首次启动时显示。不总是这样。所以,我试图在plist或userdefaults中存储一个标志,但在应用程序删除(移动到垃圾箱)时,plist或userdefaults不会从系统中删除,因此我无法完成我的任务 这就是我一直在尝试的 我将在plist文件中存储一个标志,并在应用程序启动期间保存该文件(在Documents目录中),以便下一次,我可以从中读取并确定应用程序是否第一次运行。我在这里失败了,因为即使应用程序已从系统中删除(移动到垃圾箱

我正在应用程序启动时显示许可证表单,但它应该仅在应用程序首次启动时显示。不总是这样。所以,我试图在plist或userdefaults中存储一个标志,但在应用程序删除(移动到垃圾箱)时,plist或userdefaults不会从系统中删除,因此我无法完成我的任务

这就是我一直在尝试的

我将在plist文件中存储一个标志,并在应用程序启动期间保存该文件(在Documents目录中),以便下一次,我可以从中读取并确定应用程序是否第一次运行。我在这里失败了,因为即使应用程序已从系统中删除(移动到垃圾箱),我也无法删除此plist文件

我也尝试在NSUserDefaults中设置一个标志,但在删除应用程序并重新构建并启动应用程序后,它仍然保留我存储的以前的值。我想知道,当应用程序从系统中删除时,NSUserDefaults不会被删除吗

NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];        
    [ud setObject:@"1" forKey:@"APPLAUNCHED"]; // store user default
    [ud synchronize];
有人能给点建议吗


谢谢。

删除应用程序时,用户默认设置和应用程序沙盒都不会自动删除。我想没有办法了。

嗨,谢谢你的回复。我看到在删除(移动到垃圾箱)二进制文件后,用户默认值没有被删除。因此,当我再次构建应用程序并尝试启动应用程序时,我无法显示许可证表单。这是故意的行为。删除你的应用程序然后重新安装的用户,其首选项和文档保持不变。作为一种副作用,他们不必再次填写许可证表格。我认为,如果终端用户对磁盘空间的使用着迷,他们有责任删除未使用的文件和沙盒。但是,这应该是这样的,我们必须在第一次启动应用程序时出示许可证。我怎样才能解决这个问题?当应用程序移动到垃圾箱时,如何删除用户默认值或plist?请提供任何帮助或建议。如果您需要在应用更新后显示许可证,您可以将当前应用版本存储在
NSUserDefaults
中,并将其与实际应用版本进行比较,以决定是否显示。如果该应用只是被删除并重新安装(未更新),则无法判断它是否在上次启动后被删除。您能否告诉用户如何通知从Mac Lion machine中删除用户默认设置?我至少可以在发行说明中添加此内容。