当我删除应用时,Steam如何提示我删除游戏数据?

时间:2016-01-22 01:27:53

标签: macos cocoa

我最近尝试从Mac OS X 10.10.5中删除Steam.app。只要我按 Command-Backspace 删除应用程序,就会出现以下对话框:

enter image description here

案文内容如下:

  

Steam还有一些游戏内容存储在/ Users / apaidnerd / Application Support / Steam / SteamApps中。你想删除游戏内容吗?

     

[保留文件] [在Finder中显示] [删除文件]

Steam应用程序是如何导致这种情况发生的?如果我正在为Mac OS X开发应用程序,那么会记录在哪里?

2 个答案:

答案 0 :(得分:4)

你很亲密。它看起来像发射代理商" com.valvesoftware.steamclean"对此负责。卸载" com.valvesoftware.steam.ipctool"代理/服务可以有效地禁用另一个。

steamclean代理的描述plist文件位于〜/ Library / LaunchAgents中。它没有民意调查。它有一个WatchPaths密钥,要求launchd在该路径发生变化时运行它。 launchd使用文件系统通知技术来监控,并且不依赖于轮询。

当发生这种情况时,代理运行程序〜/ Library / Application Support / Steam / SteamApps / steamclean,它不在Steam.app包中。它不可能,因为应用程序包已被移动或重命名,因此launchd将无法找到代理程序。 steamclean显示对话框。您可以通过复制对话框并将其保持打开来确认。然后,使用活动监视器列出进程并过滤" steam"。

答案 1 :(得分:2)

想出来。 Steam的launchctl agentbuild.sh目录中运行(com.valvesoftware.steam.ipctool)。如果我停止守护程序并删除Steam.app,则不会出现对话框。

必须轮询以查看其可执行路径是否仍然存在,并提示用户是否丢失。此外,不活动的标题栏暗示该对话框确实来自某种后台进程。