我想在MaC OS X 10.8 Mountain Lion的安全和隐私设置中从定位服务中删除应用程序。(即使将这些应用程序卸载,这些应用程序仍会列出。)我在Mac OS X 10.7的“安全性和隐私”中找到了从位置服务中删除应用程序一文,这使我朝着正确的方向前进。这是等效的OS X 10.8.2 Mountain Lion。主要区别在于clients.plist文件的位置。我还想提供一个循序渐进的过程。
免责声明:这对我有用。确保您的系统备份良好。此过程包括对clients.plist文件进行备份,但是永远不会太安全。
1.启动终端,然后对根shell进行sudo
sudo -s
2.转到/ var / db / locationd
cd /var/db/locationd
3.备份clients.plist文件
cp -p clients.plist clients.plist.save
4.将clients.plist转换为xml(可编辑格式)
plutil -convert xml1 clients.plist
5.使用vi(vim)编辑clients.plist文件并删除该应用程序。
vi clients.plist
该文件可能包含许多应用程序条目。这是单个应用程序条目的格式(在这种情况下为Safari)。整个条目需要删除。
<key>com.apple.Safari</key>
<dict>
<key>Authorized</key>
<true/>
<key>BundleId</key>
<string>com.apple.Safari</string>
<key>Executable</key>
<string>/Applications/Safari.app/Contents/MacOS/Safari</string>
<key>LocationTimeStopped</key>
<real>376348187.80421197</real>
<key>Registered</key>
<string>/Applications/Safari.app/Contents/MacOS/Safari</string>
<key>RequirementString</key>
<string>identifier "com.apple.Safari" and anchor apple</string>
<key>Whitelisted</key>
<false/>
</dict>
6.将clients.plist文件转换回二进制文件
plutil -convert binary1 clients.plist
7.重新定位
killall locationd
如果这些应用程序仍然存在,请按照以下步骤再次执行该过程,但在按如下所示确定PID后,使用kill -9重新启动定位。PID是ps输出中的第二个字段。
ps -ef | grep locationd | grep -v grep
输出: 205 427 1 0 6:31PM ?? 0:00.07 /usr/libexec/locationd
kill -9 427
我运行了两次该流程,一次删除了一个应用程序。第一次,killall就足够了。第二次不是。我不知道为什么。它的位置就像是保留了一个缓存并重建了client.plist。我之所以这样说是因为在运行killall之后,甚至在重新启动后,这些条目都被添加回了client.plist中。无论是什么根本原因,使用kill -9都能为我解决问题。
如果出现问题,请复制回原始文件并重新定位。
cp -p clients.plist.save clients.plist
killall locationd
(或kill -9方法)
我希望这有帮助。干杯!